1. create the fifo using 'mkfifo', and make sure blackbox.pl has write permissions to it. 2. change blackbox.pl to write to the fifo file, instead of writing to STDOUT. 3. change your script above to read from the fifo file instead of from PIPE1, like this my $fifo_file = "/path/to/my_fifo"; open FIFO, "<$fifo_file" or die "Can't read $fifo_file: $!"; while () { # ...Filter and munge $_ print $_; }