use IPC::Open2; $file = $ARGV[0]; local *FRGZ; local *TOGZ; local *FRCMD; $pid1 = open2(*FRGZ, *TOGZ, "gzip -dc $file"); $pid2 = open2(*FRCMD, ') { print; }