为什么我可以打开undef?

问题描述 投票:0回答:1

以下不会死:

open my $in, '<', undef or
    die q{couldn't open undef};
print <$in>;

这个也不是:

open my $out, '>', undef or
    die q{couldn't open undef};
print $out 'hello';

我不明白为什么这些都没有死。开

undef
怎么可能成功呢? 我发现这个的原因是和我一起工作的一个人做了这个:

open my $out, '>', $ARGV[0] or die q{couldn't open $ARGV[0]};

他认为如果没有传入参数,这会杀死脚本(我知道这不是最干净的方法,但我不认为它行不通)。

我正在使用草莓5.16.1。

perl file-io undefined
1个回答
11
投票

参见

perldoc -f open

作为一种特殊情况,具有读/写模式的三参数形式和 第三个参数是

undef
:

open(my $tmp, "+>", undef) or die ...

打开匿名临时文件的文件句柄。

© www.soinside.com 2019 - 2024. All rights reserved.