在Perl中,可以使用一些方法来从外部命令中丢弃STDERR。以下是一些常用的方法:
- 使用重定向符号(>)将STDERR重定向到空设备:system("command 2> /dev/null");这将把STDERR输出重定向到Linux中的空设备,从而丢弃了STDERR。
- 使用IPC::Run模块来运行外部命令,并将STDERR捕获到一个变量中:use IPC::Run qw(run);
my $stderr;
run ["command"], "2>", \$stderr;这将运行外部命令,并将STDERR输出捕获到$stderr变量中。如果你不需要处理STDERR输出,可以将$stderr变量忽略。
- 使用open函数将STDERR重定向到空设备:open STDERR, '>', '/dev/null';
system("command");这将把STDERR输出重定向到Linux中的空设备,从而丢弃了STDERR。
需要注意的是,这些方法只是将STDERR输出重定向到空设备或捕获到变量中,而不是真正地丢弃STDERR。如果你需要完全丢弃STDERR,可以将这些方法放在一个子进程中,并在子进程中执行外部命令,然后让子进程退出。这样可以确保STDERR不会对主进程产生任何影响。
对于Perl中的外部命令丢弃STDERR的问题,腾讯云没有特定的产品或服务与之相关。