Jak czytać i pisać z potoku w Perlu?

Jestem noobem Perla, więc proszę wybacz to podstawowe pytanie. Muszę zmodyfikować istniejący program Perl. Chcę potokować łańcuch (który może zawierać wiele linii) za pośrednictwem zewnętrznego programu i odczytać dane wyjściowe z tego programu. Więc ten zewnętrzny program jest używany do modyfikowania ciągu. Po prostu użyjmycat jako program filtrujący. Próbowałem tego w ten sposób, ale to nie działa. (Wyjściecat idzie do wyjścia standardowego zamiast czytać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";

Czytałem, że Perl nie jest obsługiwany, ponieważ może skończyć się zakleszczeniem i mogę to zrozumieć. Ale jak mam to zrobić?

questionAnswers(4)

yourAnswerToTheQuestion