Nat*_*enn 8 perl file-io undefined
以下不会死:
open my $in, '<', undef or
die q{couldn't open undef};
print <$in>;
Run Code Online (Sandbox Code Playgroud)
这也不是:
open my $in, '>', undef or
die q{couldn't open undef};
print $in 'hello';
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这些都不会死.开放怎么undef
可能成功?我发现这个的原因是我和一个人一起做过这个:
open my $in, '>', $ARGV[0] or die q{couldn't open $ARGV[0]};
Run Code Online (Sandbox Code Playgroud)
如果没有传递任何参数,他认为这会杀死剧本(我知道这不是最干净的方法,但我认为这不会起作用).
我正在使用草莓5.16.1.
Den*_*aev 10
见perldoc -f open
:
作为特殊情况,具有读/写模式的三参数形式和第三个参数是
undef
:Run Code Online (Sandbox Code Playgroud)open(my $tmp, "+>", undef) or die ...
打开一个匿名临时文件的文件句柄.