iDe*_*Dev 2 regex perl backticks exitstatus
在我的代码中:
$status = `ls -l error*`;
Run Code Online (Sandbox Code Playgroud)
它显示输出:ls *error No such file or directory.
如何抑制此消息.我有兴趣确定是否生成了错误文件.如果是,我需要忽略文件列表(不打印消息)
通过运行它
$status = `ls -l error* 2> /dev/null`;
Run Code Online (Sandbox Code Playgroud)
并将外部命令的输出抑制为标准错误.
如果你只是需要的文件名(而不是所有其他信息是ls的-l开关给你),这可以在纯Perl,以类似语句完成的
@files = glob("error*");
if (@files == 0) {
... there were no files ...
} else {
... do something with files ...
}
Run Code Online (Sandbox Code Playgroud)
如果您确实需要所有其他信息ls -l ...,将内置stat函数应用于每个文件名可以为您提供相同的信息.