#! perl use strict; use threads; use Thread::Queue; use LWP::Simple; use DBI; sub fetchNParse { my( $Qin, $Qout ) = shift; while( my $uname = $Qin->dequeue ) { #my $content = get $uname; #my @bits = $content =~ m[....]; my @bits=qw(pizza2 steak2 chicken2 burgers2); print " $uname 1\n"; #$Qout->enqueue( join $;, $uname, @bits ); $Qout->enqueue( $uname ); } $Qout->enqueue( undef ); } our $THREADS //= 16; my $Qunames = new Thread::Queue; my $Qrets = new Thread::Queue; threads->create( \&fetchNParse, $Qunames,$Qrets )->detach for 1 .. $THREADS; #my $dbh = DBI->connect( ... ); #my $unames = $dbh->selectcol_arrayref("select uname from event"); my @unames = qw(pizza steak chicken burgers); print "a\n"; $Qunames->enqueue( @unames ); print "b\n"; for( 1 .. $THREADS ) { while( my $ret = $Qrets->dequeue ) { #my( $uname, @bits ) = split $;, $ret. #$dbh->do( insert stuff ); print "2\n"; } } #$dbh->disconnect;