2

In my code :

$status = `ls -l error*`;

It shows output : ls *error No such file or directory. How can I suppress this message. I am interested in determining that the error files are generated or not. If yes, I need the list of files else ignore (without printing the message)

4

1 回答 1

8

通过像这样运行它

$status = `ls -l error* 2> /dev/null`;

并将外部命令的输出抑制为标准错误。

如果你只需要文件名(而不是 switch 给你的所有其他信息ls-l,这可以在纯 Perl 中使用如下语句来完成

@files = glob("error*");
if (@files == 0) { 
    ... there were no files ...
} else { 
    ... do something with files ...
}

如果您确实需要从中获得的所有其他信息ls -l ...,则将内置stat函数应用于每个文件名可以为您提供相同的信息。

于 2013-08-09T20:06:33.897 回答