#!/usr/local/bin/perl # How many conncurrent connections do we want to make? $MAXCHILD = 10; @pids; $npids = 0; for ($i = 0; $i<$MAXCHILD;$i++) { my $pid; $pid=fork(); if($pid>0){ $npids++; if($npids>=$MAXCHILD){ for(1..($MAXCHILD)){ $wait_ret=wait(); if($wait_ret>0){ $npids--; } } } next; } elsif(undef $pid) { exit(0); } else { CALL_YOUR_DBI_ROUTINE_HERE(); exit(0); } exit(0); } for(1..$npids){ $wt=wait(); if($wt==-1){ redo; } }