Perl有些麻煩(我是全新的)。我在同一個目錄中有一個.txt文件。我計劃複製文件,將其打印到標準輸出,向複製添加更多文本,並比較文件大小。這是我到目前爲止有:添加更多數據後,爲什麼我的文件大小相同?
#!/usr/local/bin/perl
use File::Copy;
copy("data.txt", "copyOfData.txt") or die "copy failed :(";
open (MYFILE, "data.txt") or die "open failed :(";
while (<MYFILE>) {
chomp;
print "$_\n";
}
$filesize = -s MYFILE;
print "MYFILE filesize is $filesize\n";
close (MYFILE);
open(MYCOPYFILE, ">>copyOfData.txt");
print MYCOPYFILE "\nextra data here blah blah blah\n";
$filesize = -s MYCOPYFILE;
print "MYCOPYFILE filesize is $filesize\n";
close (MYCOPYFILE);
但是,我得到的輸出如下:
MYFILE文件大小是28 MYCOPYFILE文件大小是28
肯定的MYCOPYFILE大小應大於MYFILE大小,因爲我添加了額外的文本?我已經檢查了兩個文本文件,並且副本最後還有額外的文本。
感謝您的幫助!
關閉文件,然後檢查大小。哦,是的,當需要保持文件句柄打開時,刷新輸出文件緩衝區。 – SparKot 2013-03-25 11:44:59