It might be safer (in case the column name returned isn't exactly `COUNT(*)`) and potentially faster, to just say `return $self->selectrow_array($sql, undef, @bind_params);` possibly?

(Using it in a scalar context means it returns undef on failure, just like your code is already doing.)