in reply to Missing ref() return possibility?
The types you list are the basics. All other cases are covered by "If the referenced object has been blessed into a package, then that package name is returned instead."
For regular expressions, this is demonstrated by:
use Scalar::Util qw/blessed/; $q=qr//; print ref($q); print blessed($q); __END__ Regexp Regexp