# Error handling assumed. my $sql = " ... "; my $sth = $dbh->prepare_cached( $sql ); $sth->bind_columns( \(my ($foo)) ); my @data; while ($sth->fetch) { push @data, $foo; } $sth->finish; #### # Error handling assumed. my $sql = " ... "; my $sth = $dbh->prepare_cached( $sql ); my @stuff; $sth->bind_columns( \(my ($foo), @stuff[0..3]) ); my %data; while ($sth->fetch) { $data{$foo} = [ @stuff ]; } $sth->finish;