Perl:将数组写入文本文件

时间:2015-12-15 01:36:28

标签: arrays perl file handle

这个问题与Perl有关,将数组写入文本文件。

我打开filename_1并将此文件的内容存储到数组中。 然后我将这个数组写入filename_2。 如果我不修改这个数组。我希望filename_2与filename_1完全相同。

相反,我在filename_2的末尾看到了一个额外的行。有人能帮助我吗?

这是我的代码:

open( Fh, "<", "filename_1.txt") or die "Cannot open for read";
my @l_file_content_array = <Fh>;
close Fh;

open( Fh2, ">", "filename_2.txt") or die "Cannot open for write";
print Fh2 @l_file_content_array;
close Fh2;

2 个答案:

答案 0 :(得分:1)

尝试添加以下行:

$\ = ""; # set default print ending to empty string

在打印之前Fh2 @l_file_content_array;线。

如果上述“有效”,则可能意味着存在

$\ = "\n";

在程序或包含文件中的其他位置行。您仍然可以通过添加以下行来在本地修复行为:

local $\ = "";

答案 1 :(得分:-1)

您可以尝试:

chomp(my @l_file_content_array = <Fh>);

它应该删除输入文件的最后一行。