对不起,但我找不到答案.
如果我有以下行
my $FH;
open FH,"somefile";
Run Code Online (Sandbox Code Playgroud)
现在我想检查FH是否已成功打开,但我想在不同的行中执行此操作,而不是使用或语法.
我试过($ FH),但它对我不起作用.
谢谢.
来自 - open手动:
Open在成功时返回非零值,否则返回未定义的值.如果open涉及管道,则返回值恰好是子进程的pid.
所以你可以这样做:
my $FH;
my $file_opened = open $FH, '<', 'somefile';
if($file_opened) {
print "open";
close($FH);
}
Run Code Online (Sandbox Code Playgroud)
或者在一行中没有附加变量:
if(open $FH, '<', 'somefile') {
print "--open";
close($FH);
}
Run Code Online (Sandbox Code Playgroud)