#!/usr/bin/perl -w use strict; use IPC::Open2; open2(\*OUT,\*IN,"cat 2>&1") or die "Couldn't run cat: $!\n"; print IN "this is a test\n" x 4096; close(IN) or die "Couln't close cat stdin: $!\n"; while () { print "cat: $_"; } close(OUT) or die "Couldn't close cat stdout: $!\n";