我試圖編寫一個程序,其中perl打開一個文件,但如果該文件不存在或因某種原因無法打開,則會回退到另一個文件。相關線路是:回退打開文件Perl
open(my $fh,"<","/path/to/file") or open (my $fh,"<","/path/to/alternate/file") or die
最後,我想通了,:
open(my $fh,"<","/path/to/file") or open ($fh,"<","/path/to/alternate/file") or die
工作。這兩個陳述之間有什麼區別,爲什麼不是第一個工作,是第二個正確的方法來做到這一點,還是還存在一些問題呢?
編輯:如果有問題,我正在使用perl 5.12
,並且第一個在"/path/to/file"
存在的情況下失敗。我的傾向是,如果第一次打開成功,第二次open
不應該運行,那麼爲什麼第二次覆蓋$fh
?
首先沒有問題,儘管變量再次被重新聲明。 –
@JayKumarR好吧,它沒有工作。在下一行'$ fh'不是兩個文件的打開文件句柄。 – Chris
務必使用'use strict;使用警告qw(all);'!!!! – ikegami