I use selectcol_arrayref all the time,
and it works very well. Make sure you are checking
the value of your $dbh->err, and
$dbh->errstr because there may be an
error in your query.
The difference between selectcol_arrayref
and selectall_arrayref is that the
former returns a single array of all values in that
column, while the latter returns an array of arrays
of each row (AoA), even if each row contains only
one entry. This is why the former is preferable for
these kinds of circumstances.