#! perl -slw use strict; $|++; for( 1 .. 10000 ) { print scalar localtime; sleep 1; warn "$0 still running\n"; } #### #! perl -slw use strict; my $pid = open my $fh, 'perl.exe junk2.pl |' or die $!; while( <$fh> ) { chomp; print localtime() . " Got: '$_'"; } #### c:\test>junk3 Sat Aug 4 02:33:24 2007 Got: 'Sat Aug 4 02:33:24 2007' junk2.pl still running Sat Aug 4 02:33:25 2007 Got: 'Sat Aug 4 02:33:25 2007' junk2.pl still running Sat Aug 4 02:33:26 2007 Got: 'Sat Aug 4 02:33:26 2007' junk2.pl still running Sat Aug 4 02:33:27 2007 Got: 'Sat Aug 4 02:33:27 2007' junk2.pl still running Sat Aug 4 02:33:28 2007 Got: 'Sat Aug 4 02:33:28 2007' Terminating on signal SIGINT(2) c:\test>junk2.pl still running junk2.pl still running junk2.pl still running junk2.pl still running junk2.pl still running junk2.pl still running ... #### #! perl -slw use strict; #$|++; for( 1 .. 10000 ) { print scalar localtime; sleep 1; warn "$0 still running\n"; } #### c:\test>junk3 junk2.pl still running junk2.pl still running ... 165 identical lines elided ... junk2.pl still running junk2.pl still running Sat Aug 4 02:38:30 2007 Got: 'Sat Aug 4 02:35:51 2007' Sat Aug 4 02:38:30 2007 Got: 'Sat Aug 4 02:35:52 2007' ... 156 monotonically increasing lines elided ... Sat Aug 4 02:38:31 2007 Got: 'Sat Aug 4 02:38:28 2007' Sat Aug 4 02:38:31 2007 Got: 'Sat Aug 4 02:38:29 2007' junk2.pl still running junk2.pl still running ...