use IPC::Open2; open(my $fifo, "<", "foobar") or die $!; my $o; open(my $fh, ">", \$o) or die $!; open2($fh, $fifo, "/bin/echo") or die $!; print $o;