我想创建一个文件路径出预定路径和一个变量,这是预先确定的路径内的文件夹。为什么我的输出在两行上打印?
路径的预定部分是/sys/kernel/scst_tgt/targets/iscsi/
下一个文件夹是像iqn.2011-08.com.solignis:datastore2
的地址为iSCSI目标然后最后部分是一样的东西/enabled
其是讲述了的状态的文件目标。
当我尝试打印完整路径并将变量$target_name
替换为iSCSI目标的名称时。生成的输出如下所示
/sys/kernel/scst_tgt/targets/iscsi/iqn.2011-08.com.solignis:datastore2
/enabled
它将启用的部分置于新行。我无法弄清楚什么是对
去下面是子程序我工作的代码:它看起来像$ TARGET_NAME
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";
}
'chomp'ing $ target_name修复了它,谢谢你的帮助。 – ianc1215
@Sol不客气。 – TLP
@TLP - “比必要的更多的代码”距离“不够高尔夫球”足够短的距离。使用@_而不分配给变量会导致可读性明显降低,代码可维护性降低,因此不应该鼓励您将其作为练习,对不起。 – DVK