my $b; my $sql = qq{SELECT b FROM blah WHERE user = ?}; my $sth = $dbh->prepare("$sql"); $sth -> execute('bahbah'); $sth -> bind_col(1,\$b); while( $sth->fetch ) { print "$b\n"; } ################ # OR: ################ my $sql = qq{SELECT b FROM blah WHERE user = ?}; my $sth = $dbh->prepare("$sql"); $sth -> execute('bahbah'); my $rows = []; # cache for batches of rows while(my $row = shift(@$rows) || shift(@{$rows=$sth->fetchall_arrayref([0],10_000)||[]})) { print "$row->[0]\n"; }