use strict; use warnings; use AnyEvent; use AnyEvent::DBI; my $dbh = AnyEvent::DBI->new( "DBI:SQLite:dbname=test.db", "", "" ); my @table_schema = ( <condvar; run_bundle( @table_schema, sub { $done->send; } ); $done->recv; sub run_bundle { my $cb = pop; my $query = shift; my @rest = @_; print STDERR "Executing SQL:\n$query\n"; return $cb->() unless $query; $dbh->exec( $query, sub { use Data::Dumper; print Dumper( [@_, $@] ); run_bundle( @rest, $cb ); }); }