gpt4 book ai didi

perl - 为什么我的输出打印在两行上?

转载 作者:行者123 更新时间:2023-12-02 07:09:38 25 4
gpt4 key购买 nike

我正在尝试从预定路径创建一个文件路径和一个变量,该变量是预定路径内的一个文件夹。

路径的预定部分是/sys/kernel/scst_tgt/targets/iscsi/

下一个文件夹是 iSCSI 目标的地址,如 iqn.2011-08.com.solignis:datastore2

然后最后一部分类似于/enabled,这是一个告诉目标状态的文件。

当我尝试打印完整路径时,变量 $target_name 被替换为 iSCSI 目标的名称。结果输出如下所示

/sys/kernel/scst_tgt/targets/iscsi/iqn.2011-08.com.solignis:datastore2
/enabled

它将启用的部分放在一个新行上。我不明白这是怎么回事

这是我正在处理的子例程的代码:

sub target_enabled {
my $target_name = shift;
my $target_state_file = "/sys/kernel/scst_tgt/targets/iscsi/$target_name/enabled";
print "$target_state_file\n";
}

最佳答案

看起来您在 $target_name 的末尾有一个换行符。所以:

chomp $target_name;

如果这不起作用(因为您可能有例如来自 Windows 文件的 \r\n):

$target_name =~ s/\s+\z//;

关于perl - 为什么我的输出打印在两行上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7341813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com