2014-01-19 26 views
-1

我在Perl中打開的文件如何使用在函數裏面的主塊中打開的文件句柄?

open(HANDLE,$inputfile) 

現在,我想用這個HANDLE在函數內部和寫入到同一個文件。我怎樣才能做到這一點?

我是Perl新手,所以任何人都可以幫助我?

+0

的可能重複[讀取和寫入Perl中的文件(HTTP://計算器.com/questions/12633743/read-and-write-to-a-file-in-perl) – sateesh

回答

-1

寫入文件非常簡單。 HANDLE是文件 的文件描述符,因此編寫時需要使用print命令。

打印HANDLE「你想寫什麼」

本刊將寫入該文件發表評論。

+0

是的我知道,但我已經在代碼開始時創建了這個句柄,現在我正在調用一個函數,我想使用該函數內的句柄開始在文件結束寫入,所以我可以使用相同的句柄或我需要將它傳遞給該函數 – user3211581

+0

是的,您需要將HANDLER傳遞給其他函數或子例程。 詳情你可以看到這個鏈接.. http://www.perlmonks.org/?node_id=636998 –

2

通常,你不想使用包文件句柄(它缺少一個印記);詞法文件句柄(其中有$開始)是更容易出錯,而且肯定更容易傳遞給子例程:

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