Я - Perl noob, поэтому, пожалуйста, извините этот основной вопрос. Мне нужно изменить существующую программу Perl. Я хочу передать строку (которая может содержать несколько строк) через внешнюю программу и прочитать вывод из этой программы. Таким образом, эта внешняя программа используется для изменения строки. Позвольте просто использовать cat
в качестве программы фильтрации. Я попробовал это, но это не сработает. (Вывод cat
переходит в stdout вместо чтения 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, потому что он может оказаться в тупике, и я могу это понять. Но как мне это сделать?