Как читать и писать из трубы в Perl?

Я новичок в Perl, поэтому прошу прощения за этот основной вопрос. Мне нужно изменить существующую программу Perl. Я хочу передать строку (которая может содержать несколько строк) через внешнюю программу и прочитать вывод этой программы. Так что эта внешняя программа используется для изменения строки. Давайте просто использоватьcat в качестве программы фильтра. Я попробовал это так, но это не работает. (Выводcat идет на стандартный вывод вместо того, чтобы быть прочитаннымperl.)

#!/usr/bin/perl

open(MESSAGE, "| cat |") or die("cat failed\n");
print MESSAGE "Line 1\nLine 2\n";
my $message = "";
while (<MESSAGE>)
{
    $message .= $_;
}
close(MESSAGE);
print "This is the message: $message\n";

Я читал, что это не поддерживается Perl, потому что он может зайти в тупик, и я могу это понять. Но как мне тогда это сделать?

Ответы на вопрос(4)

Ваш ответ на вопрос