打开现有文件或使用其他名称创建一个新文件

问题描述:

在Perl脚本中,我需要打开特定文件,但如果该文件未打开(已损坏等),则需要创建一个新文件一个新的名字。如果我不能创建这个新文件,我会因为某些显然是错误的而死掉。这里是我想要做的伪代码:打开现有文件或使用其他名称创建一个新文件

if (!(open my $testFile, q{>>}, "C:\foo\bar\log.csv")) { 
    open my $testFile, q{>>}, "C:\foo\bar\log1.csv"; 
} 
if (!$testFile) { 
    die $!; 
} 

我该如何做到这一点在Perl中的“尝试赶上”类型的行为?

的百万方法可以做到这一个:

my $fh; 
open $fh, '<', 'C:\foo\bar\log.csv' or open $fh, '<', 'C:\foo\bar\log1.csv' or die 'Can not open any file!'; 
+1

有趣......再也看不到“条件或条件或条件”之前! – MattDavBen