sub db_execute { my(@return,@a,$cursor); unless($VARS{connected}){db_connect();$VARS{connected}++;} undef @return; $cursor = $dbh->prepare($_[0]); $cursor->execute || db_error(); unless($_[1]){ while (@a = $cursor->fetchrow){push (@return,@a)} return (@return); } }