文件在每行中添加一个额外的空格

Tre*_*ree 2 perl

我试图使用push添加数组中的所有元素.然后我存储到另一个文件

但是文件的开头我看到每件事都有一个白人......

问题是什么..任何人在面对这个问题之前.

open FILE , "a.txt"

while (<FILE>)
{

  my $temp =$_;

  push @array ,$temp;

}
close(FILE);

open FILE2, "b.txt";
print FILE2 "@array";
close FILE2;
Run Code Online (Sandbox Code Playgroud)

dax*_*xim 7

当你引用这样的数组变量时:"@array"它会用空格进行插值.这就是他们在你的输出中的来源.因此,如果您不需要或想要这种插值,请不要引用.

现在让我们将您的程序重写为现代Perl.

use strict;
use warnings FATAL => 'all';
use autodie qw(:all);

my @array;
{
    open my $in, '<', 'a.txt';
    @array = <$in>;
}

{
    open my $out, '>', 'b.txt';
    print {$out} @array;
}
Run Code Online (Sandbox Code Playgroud)

  • 固定.这教会我总是测试运行我的程序,即使它们只是10行.`: - |` (2认同)