sub get_stuff_from_db { my ($query) = @_; my $sth = $dbh->prepare_cached( $query ) or die "Could not prepare '$query'\n"; $sth->execute() or die "Could not execute '$query'\n"; $sth->bind_columns( \(my ($x, $y, $z)) #Assumes three columns returned ); my %results; while ($sth->fetch) { @results{qw(X Y Z)) = ($x, $y, $z); } $sth->finish; return \%results; }