我编写了一个脚本,将输出保存在Perl脚本中,但由于某种原因,它会在每行的末尾留下空格。我尝试使用Perl正则表达式,但它不起作用。有人可以看看我的代码,让我知道我做错了什么?
我的代码
open FILE, ">", "finaloutput.txt" || die "cannot create";
my @output = ``; # (here i am using back ticks to run third party command)
foreach my $output (@output) {
chomp $output;
my $remove_whitespace = $output;
$remove_whitespace =~ s/^\s+|\s+$//g;
print FILE "$remove_whitespace \n";
}
close FILE;
即使这样做,它也会在输出的每一行的末尾留下一个空格。请指导我。
感谢。
答案 0 :(得分:6)
当您执行print FILE "$remove_whitespace \n";
时,在每行的末尾添加2个空格,而不是print FILE "$remove_whitespace\n";
答案 1 :(得分:1)
你在每一行的末尾放了两个空格:
print FILE "$remove_whitespace \n";
^^
||
摆脱那些!解决方案:
print FILE "$remove_whitespace\n";
-or-
print FILE $remove_whitespace, "\n";
答案 2 :(得分:0)
出于某种原因,您在print
声明的末尾包含多个空格。将您的print语句更改为:
print FILE "$remove_whitespace\n";
此外,您不应再使用全局样式的文件句柄。相反,使用类似的东西:
open my $file, '>', "output.txt";
print $file "Some string\n";
close $file;