Внешняя программа, вызванная с помощью обратных кавычек, по-прежнему производит вывод

поэтому я вызываю внешнюю программу на Perl и хочу зафиксировать ее вывод:

my @RNAalifoldOut = `RNAalifold some parameters`;

При вызове из командной строки вывод состоит из трех строк , например:

4 sequences; length of alignment 48.
__GCCGA_UGUAGCUCAGUUGGG_AGAGCGCCAGACUGAAAAUCAGA 
...((((.....((((.........)))).(((((.......)))))

Однако мой массив @RNAalifoldOutсодержит только две последние строки, и первая строка появляется непосредственно на экране, когда строка выполняется.

Как это может быть? Я подумал, может быть, программа записывает первую строку в STDERR, но разве это не отбрасывается оператором обратных кавычек? И что я мог сделать, чтобы скрыть этот вывод?

С уважением Nick

5
задан NiklasMM 23 May 2012 в 18:10
поделиться