对于我即将推出的 PulseAudio 库,我想重定向STDERR
并STDOUT
在/dev/null
逻辑上这样做,
sub _exec {
open (*STDERR, '>', '/dev/null');
open (*STDOUT, '>', '/dev/null');
CORE::system('pacmd', @_ ) or die $?;
但是,这仍然输出到术语....
sub _exec {
local ( *STDERR, *STDOUT );
open (*STDERR, '>', '/dev/null');
open (*STDOUT, '>', '/dev/null');
CORE::system('pacmd', @_ ) or die $?;
这给我留下了两个问题
- 首先,为什么我会遇到我所看到的行为?
- 其次,是否有更有效的方法不涉及存储旧值并替换它?