有warn 4
什么不同print STDERR 4
?
perl -e 'local *STDERR; warn 4'
Run Code Online (Sandbox Code Playgroud)
(输出仍然是STDERR
)
perl -e 'local *STDERR; print STDERR 4'
Run Code Online (Sandbox Code Playgroud)
(这里没有输出)
warn
触发器$SIG{__WARN__}
.warn
不使用$\
或$,
.warn
显然使用了原文中的文件句柄STDERR
,正如您所演示的那样[1].不完全的.您的代码也可以证明warn
直接使用fd 2,但这被证明是错误的
close(STDOUT);
close(STDERR);
open(STDERR, '>file');
warn(fileno(STDERR)."abc"); # 1abc
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
280 次 |
最近记录: |