2013-12-20 73 views
0

打開的文件中讀到這裏是我的代碼不能從讀/寫/追加模式

use strict; 
use warnings; 

open(INFILE,"<File1") or die "Can't open the file"; 
open(OUTFILE,"+>>File2") or die "Can't open the file"; 

while(<INFILE>) { 
    print OUTFILE "$_"; 
} 

while(<OUTFILE>) { 
    print "$_\n"; 
} 

我試圖文件1的內容移動到在讀創建文件2,寫和追加模式。這裏的問題是我用File1內容創建了我的File2,但while(<OUTFILE>) {}中的print語句不打印File2的內容。 誰能幫助我瞭解什麼是錯在這裏(我可能會犯一個愚蠢的錯誤)

回答

3

設置光標回到OUTFILE開始!

seek OUTFILE, 0, 0; 
5

你的第一個while循環之後,你在OUTFILE結束。因此,第二個while循環從未真正執行。在您閱讀之前使用seekOUTFILE

use strict; 
use warnings; 
open(INFILE,"<File1")or die "Can't open the file"; 
open(OUTFILE,"+>>File2")or die "Can't open the file"; 
while(<INFILE>) 
{ 
print OUTFILE "$_"; 
} 

seek OUTFILE, 0, 0; 

while(<OUTFILE>) 
{ 
    print "$_\n"; 
} 
+1

謝謝!有效... – Sri