Isn't this just easier?
ol>#! perl -slw use strict; my $pid = open IN, '-|', qq[ perl -E"say scalar localtime, sleep 1 for 1.. $ARGV[0]" ] or die $!; eval { local $SIG{ ALRM } = sub { kill -9, $pid; warn 'timeout'; }; alarm 5; waitpid $pid, 0; alarm 0; }; while( <IN> ){ print; } __END__ c:\test>junk 3 Tue Jun 8 15:33:04 20101 Tue Jun 8 15:33:05 20101 Tue Jun 8 15:33:06 20101 c:\test>junk 4 Tue Jun 8 15:33:09 20101 Tue Jun 8 15:33:10 20101 Tue Jun 8 15:33:11 20101 Tue Jun 8 15:33:12 20101 c:\test>junk 5 timeout at C:\test\junk.pl line 11.
In reply to Re^3: fork - alarm - output
by BrowserUk
in thread fork - alarm - output
by chart3399
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |