¿Cómo puedo probar que “algo” es un hash en Perl?

Recibo un hash de hashes de otra función, y algunos elementos del hash de hashes pueden ser otro hash. ¿Cómo puedo probar para ver si algo es un hash?
Mejor respuesta
Dependiendo de lo que desee, necesitará usar ref o reftype (que está en Scalar::Util, un módulo central). Si la referencia es un objeto, ref devolverá la clase del objeto en lugar del tipo de referencia subyacente, reftype siempre devolverá el tipo de referencia subyacente.

if (ref $var eq ref {}) {
   print "$var is a hash\n";
}

use Scalar::Util qw/reftype/;

if (reftype $var eq reftype {}) {
    print "$var is a hash\n";
}

Por favor indique la dirección original:¿Cómo puedo probar que “algo” es un hash en Perl? - Código de registro