use DBI; my $dbh = DBI->connect(...); .... my @ids = (); my $sth = $dbh->prepare('select id from items where '--PREDICATE--'); $sth->execute(); while (my ($id) = $sth->fetchrow_array()) { push @ids, $id; } $sth->finish(); ....