2010-09-22 54 views
1

我用一個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) ; 
+0

到目前爲止看起來很好,你應該進入更多的細節。你有什麼問題?在第4行之前有一個「$ datetime」之前缺少的,也許這是原因... – tex 2010-09-22 09:11:42

+0

您需要重寫該文件:打開新文件,寫入文本,複製以前的文件內容,關閉文件,將舊文件重命名爲舊版本 – pascal 2010-09-22 09:14:15

+0

@特克斯,我不知道是否缺少。請你指定,謝謝.. – William 2010-09-22 09:46:37

回答

4

可以使用Tie::File模塊通過一個數組,使訪問文件:

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

感謝大家的快速解答,僅僅是幾分鐘前。 這似乎很好

這是什麼帕斯卡推薦,我只是不知道該怎麼做。

 
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) ; 
相關問題