我正在尝试将数据从文件提取到Perl程序并使用“foreach”循环在Linux sh终端中执行它但是每次Perl将值返回到sh终端时它将打印一个新行,然后打印下一个字符串,导致我的脚本失败。我该如何预防?
open(FILE, "input") or die("Unable to open file");
# read file into an array
@data = <FILE>;
# close file
close(FILE);
foreach my $x(@data) {
system "/granite_api.pl -type update_backdoor -project tgplp -test_id $x -turninid 4206";
}
预期产出:
/granite_api.pl -type update_backdoor -project tgplp -test_id example -turninid 4206
实际输出:
/granite_api.pl -type update_backdoor -project tgplp -test_id example
-turninid 4206
答案 0 :(得分:4)
使用
@data = <FILE>;
@data
包含输入文件中的所有行。每行以LF结尾。您需要使用$x
从每个chomp
中删除它(删除$/
中设置的尾随字符)
foreach my $x ( @data ) {
chomp $x;
system "/granite_api.pl -type update_backdoor -project tgplp -test_id $x -turninid 4206";
}