2014-12-24 45 views
1

我在空閒時間學習Perl,我正在嘗試編寫一個簡單的腳本來打開並刷新某個文件。 下面的代碼段應該打開文件並將其寫入標準輸出。它確實,但不幸的是,它沒有最後一行打印文件。Perl - 將文件寫入標準輸出最後一行時缺少

任何想法爲什麼?

use strict; 
use warnings; 

my $filesizeold = 0; 

while(1){ 
    my $filesize = -s "input.txt"; 

    if($filesize != $filesizeold) { 
     system $^O eq 'MSWin32' ? 'cls' : 'clear'; 
     open INPUT, "<input.txt"; 
     while (<INPUT>) { 
      print; 
     } 
     close INPUT; 
    } 

    $filesizeold = $filesize; 
} 
+0

當'$ filesize'不能在裏面改變時有'while'循環似乎很奇怪......爲什麼會有'while'循環? –

+0

'true'不被Perl識別。始終'嚴格使用;使用警告;'除此之外,你的腳本對我來說工作得很好。 – Toto

+0

我做了一些更正。似乎問題發生在最後一行之後沒有'newline'符號時......也許有些東西像println而不是print? – xwhyz

回答

相關問題