我在Perl中打開的文件如何使用在函數裏面的主塊中打開的文件句柄?
open(HANDLE,$inputfile)
現在,我想用這個HANDLE
在函數內部和寫入到同一個文件。我怎樣才能做到這一點?
我是Perl新手,所以任何人都可以幫助我?
我在Perl中打開的文件如何使用在函數裏面的主塊中打開的文件句柄?
open(HANDLE,$inputfile)
現在,我想用這個HANDLE
在函數內部和寫入到同一個文件。我怎樣才能做到這一點?
我是Perl新手,所以任何人都可以幫助我?
寫入文件非常簡單。 HANDLE
是文件 的文件描述符,因此編寫時需要使用print
命令。
打印HANDLE「你想寫什麼」
本刊將寫入該文件發表評論。
是的我知道,但我已經在代碼開始時創建了這個句柄,現在我正在調用一個函數,我想使用該函數內的句柄開始在文件結束寫入,所以我可以使用相同的句柄或我需要將它傳遞給該函數 – user3211581
是的,您需要將HANDLER傳遞給其他函數或子例程。 詳情你可以看到這個鏈接.. http://www.perlmonks.org/?node_id=636998 –
通常,你不想使用包文件句柄(它缺少一個印記);詞法文件句柄(其中有$
開始)是更容易出錯,而且肯定更容易傳遞給子例程:
use autodie; # Check everything succeeds automatically.
open(my $fh, '<', $inputfile);
some_function($fh);
sub some_function {
my ($filehandle) = @_; # This was `$fh` from above
print {$filehandle} "Hello World!\n";
}
的可能重複[讀取和寫入Perl中的文件(HTTP://計算器.com/questions/12633743/read-and-write-to-a-file-in-perl) – sateesh