我试图编写一个程序,其中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