[perl] как перенаправить вывод system()?

Sasha21

вот типа скрипт запускает программку :
system("clustalw -infile=locuses/$file -outorder=input -output=fasta -outfile=tmp.aln")
она выводит в консоль кучу дерьма, как можно это все куданибудь перенаправить чтоб не засерала экран?

EmaMoscow

my $command = "clustalw -infile=locuses/$file -outorder=input -output=fasta -outfile=tmp.aln";
my $output = `$command`;

Если не нужно сохранять то, что выводится, то просто
`$command`;

Sasha21

спасибо :)

ermsoft

Если там очень много, то лучше STDOUT переоткрыть (perldoc -f select).
А вообще перенаправить можно и просто через
system("clustalw -infile=locuses/$file -outorder=input -output=fasta -outfile=tmp.aln >/dev/null");

Если не париться о том, что предыдущей строчкой могло быть $file = "; rm -rf /" :)
Оставить комментарий
Имя или ник:
Комментарий: