-1

我编写了一个脚本,将输出保存在 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;

即使这样做了,它也会在输出的每一行末尾留下一个空格。请指导我。

谢谢。

4

3 回答 3

6

当你这样做时,你print FILE "$remove_whitespace \n";在每行的末尾添加 2 个空格,print FILE "$remove_whitespace\n";改为

于 2012-08-29T15:01:43.670 回答
1

您在每行的末尾放置两个空格:

print  FILE "$remove_whitespace  \n";
                               ^^
                               ||

摆脱那些!解决方案:

print FILE "$remove_whitespace\n";
  -or-
print FILE $remove_whitespace, "\n";
于 2012-08-29T15:01:49.723 回答
0

出于某种原因,您在print语句末尾包含多个空格。将您的打印声明更改为:

print FILE "$remove_whitespace\n";

此外,您不应再使用全局样式的文件句柄。相反,使用类似的东西:

open my $file, '>', "output.txt";
print $file "Some string\n";
close $file;
于 2012-08-29T15:01:39.507 回答