Выезд perlfaq8 . Если вам все равно, если STDOUT
или STDERR
, вы можете перенаправить оба на STDOUT
.
$output = `$cmd 2>&1`;
В вашем случае вы, вероятно, просто хотите избавиться от STDERR
:
$output = `$cmd 2>/dev/null`;
Однако я согласен с ответом ДВК . Использование внешней команды для получения списка файлов кажется глупым. Вы должны использовать File :: Find . Таким образом, вы можете использовать обычную обработку ошибок Perl на случай, если что-то не получится.
#!/usr/bin/perl
use strict;
use warnings;
use File::Find;
my @importlog;
my @errorlog;
find(sub {
push @importlog, $File::Find::name if /^import-log\.*/;
push @errorlog, $File::Find::name if /^error-log\.*/;
}, '.');
print "Import log:\n", join("\n", @importlog), "\n";
print "Error log:\n", join("\n", @errorlog), "\n";