在Perl中的文件开头处添加TEXT [复制]

问题描述 投票:0回答:1

这个问题在这里已有答案:

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

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

但是这段代码会在文件末尾附加数据。我该如何修改代码!

perl prepend
1个回答
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: $!";
© www.soinside.com 2019 - 2024. All rights reserved.