The inevitable simple, threaded solution:
#! perl -slw use strict; use threads; use Thread::Queue; my $Q = new Thread::Queue; my $cmd = 'perl -le"$|++;print $$ . q[:] . localtime() and sleep 1 for 1..rand( +10)" |'; async{ my $pid1 = open my $fh, $cmd or die $!; $Q->enqueue( $_ ) while <$fh>; close $fh; $Q->enqueue( undef ); }->detach; async{ my $pid2 = open my $fh, $cmd or die $!; $Q->enqueue( $_ ) while <$fh>; close $fh; $Q->enqueue( undef ); }->detach; for( 1.. 2 ) { while( defined( local $_= $Q->dequeue ) ) { chomp; print; } } __END__ c:\test>junk6 3140:Wed Oct 1 16:04:35 2008 216:Wed Oct 1 16:04:35 2008 3140:Wed Oct 1 16:04:36 2008 216:Wed Oct 1 16:04:36 2008 3140:Wed Oct 1 16:04:37 2008 216:Wed Oct 1 16:04:37 2008 3140:Wed Oct 1 16:04:38 2008 216:Wed Oct 1 16:04:38 2008 216:Wed Oct 1 16:04:39 2008 216:Wed Oct 1 16:04:40 2008 216:Wed Oct 1 16:04:41 2008 c:\test>junk6 3308:Wed Oct 1 16:04:46 2008 3804:Wed Oct 1 16:04:46 2008 3308:Wed Oct 1 16:04:47 2008 3308:Wed Oct 1 16:04:48 2008 3308:Wed Oct 1 16:04:49 2008 3308:Wed Oct 1 16:04:50 2008 3308:Wed Oct 1 16:04:51 2008 3308:Wed Oct 1 16:04:52 2008
In reply to Re: working with 2 inputs
by BrowserUk
in thread working with 2 inputs
by sktron
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |