如何在文件中将行插入Perl中文件的开头?

时间:2010-09-22 09:08:25

标签: perl

我使用Perl助手来编写代码。它 看起来我错过了一个角色或什么的。 我需要将新文本写入文本文件的顶部。

open (LOGFILE, ">> complete.txt") ; # writes new to the bottom

$datetime = localtime ;

print LOGFILE "\n" ;

print LOGFILE $datetime\n" ;
print LOGFILE "$name\n" ;
print LOGFILE "Has completed the work\n" ;

close (LOGFILE) ;

4 个答案:

答案 0 :(得分:8)

这在Perl FAQ中得到解答。

How do I change, delete, or insert a line in a file, or append to the beginning of a file?

如果您使用Perl进行编程,那么值得花一个小时左右的时间来浏览常见问题解答。它充满了有用的信息。

答案 1 :(得分:4)

您可以使用Tie::File模块通过阵列启用对文件的访问:

use Tie::File;
my @array;
tie @array, 'Tie::File', 'complete.txt' or die $!;
unshift @array, localtime."\n";

答案 2 :(得分:3)

这个链接比我更好地解释了,

How to insert text at the beginning of a file using Perl

答案 3 :(得分:0)

感谢大家的快速回答,就在几分钟前。 这看起来很棒

这是pascal推荐的,我只是不知道该怎么做。

open (LOGFILE, "complete.txt") ;
@data = ;
close (LOGFILE);

open (LOGFILE, ">complete.txt") ;

$datetime = localtime ; 

print LOGFILE "\n" ; 

print LOGFILE $datetime\n" ; 
print LOGFILE "$name\n" ; 
print LOGFILE "Has completed the work\n" ; 

foreach (@data) {
    print LOGFILE $_;
}

close (LOGFILE) ;