在Perl中的文件开头添加TEXT

时间:2018-09-06 08:52:50

标签: perl prepend

我想在“ input.txt”文件的开头附加文本。这是我的代码

#!/usr/bin/perl
open(FHR,">>input.txt");
seek(FHR,0,0);
print FHR "Appending at beginning of input.txt file";

但是此代码会将数据追加到文件末尾。我该如何修改代码!

1 个答案:

答案 0 :(得分:2)

您不想添加,而不想添加。创建新文件,写入新内容,然后复制旧文件的其余部分并将新文件重命名为旧文件名的唯一可能方法。

my $new_filename = 'newfile.txt';
my $old_filename = 'oldfile.txt';
open my $new, '>', $new_filename or die "$new_filename: $!";
open my $old, '<', $old_filename or die "$old_filename: $!";
print {$new} "Prepending at the beginning of the file.\n";
print {$new} $_ while <$old>;
close $new;
rename $new_filename, $old_filename or die "rename: $!";