my $mysql = q{/usr/local/mysql/bin/mysql --host= [...]}; my @fh; my $i = 0; for my $sql ( q{SELECT id INTO OUTFILE \'/sort/clh/na\' FROM addr}, q{SELECT id INTO OUTFILE \'/sort/clh/ne\' FROM email}, q{SELECT id INTO OUTFILE \'/sort/clh/np\' FROM phone} ) { my $cmd = "echo $sql | $mysql"; open( $fh[$i++], '-|', $cmd ) or die "Failed opening $sql: $!\n"; } say "All spawned - waiting"; for my $i (0..$#fh) { while (defined (my $line = readline( $fh[ $i ] ))) { print "FH$i: $line"; } }