No, IPC::Open2 and IPC::Open3 are used if you want to open
2 or 3 pipes to the same process. (STDIN, STDOUT,
STDERR). In your case, I'd do something like:
open my $in => "zcat $file |" or die;
open my $out => "| more" or die;
while (<$in>) {
# do something.
print $out $_ or die;
}
close $in or die;
close $out or die;