2011-05-11 47 views
1

我測試了>>>在我的代碼下面打開目標文件,它工作的很好。他們有什麼不同?在Perl中打開文件的方法

my $sourfile = "ch1.txt"; 
my $destfile = "chapter1.txt"; 

open (SOURFILE, $sourfile); 
open (DESTFILE, ">>$destfile"); #both >> and > work here. 

#my $fh = \*DATA; 
my $fh = \*SOURFILE; 
+3

'perldoc -f open'和'perldoc perlopentut' – toolic 2011-05-11 00:35:24

回答

7

的區別:

> Open file for writing. 
>> Open file for appending. 

您可能要切換到使用的open 3個參數的形式,並使用詞法變量作爲文件句柄:

open(my $handle, '>', "some_file") or die $!; 
+3

3個參數是一個非常好的主意。正如使用詞法文件句柄一樣。但它們是完全獨立的功能。您不需要使用三參數打開爲了使用詞法文件句柄。 – 2011-05-11 08:15:36

1

>創建如果它已經存在,則截斷。 >>創建或附加到現有文件。 (而且這不是一種方法;除非你眯起眼睛,否則Perl 5並不是真正的OO。)

3

道歉事先被簡化,但是open - perldoc。事實上,我會概括我的答案:總是先嚐試http://perldoc.perl.org。論壇/問答&一個網站是你的最後度假村,而不是你的第一

+0

感謝您的建議。 – 2011-05-11 00:46:11