List form for open Perl's open function can open files or processes: open TR, "zcat -c $filename |"; while () { print "Line from compressed file: $_"; } Open can take a list as well on UNIX platforms. open TR, "-|", "zcat", "-c", $filename; while () { print "Line from compressed file: $_"; }