¿Hay alguna función disponible en Perl para comprobar el tipo de referencia:Cómo obtener el tipo de la referencia?
my $ref=\@array;
que necesito para obtener el tipo de referencia como array
por la función.
¿Hay alguna función disponible en Perl para comprobar el tipo de referencia:Cómo obtener el tipo de la referencia?
my $ref=\@array;
que necesito para obtener el tipo de referencia como array
por la función.
Uso función ref:
$ref_type = ref $ref;
El valor de retorno es el de: ESCALAR, ARRAY, HASH, CÓDIGO (referencia al subprograma), GLOB (referencia a typeglob) y REF (referencia a la referencia).
En realidad, ref función puede devolver más valores y en caso de referencia al objeto devuelve el nombre del paquete en lugar de escribir: http://perldoc.perl.org/functions/ref.html.
la referencia ha sido bendecido, ref() devuelve el nombre del paquete, no el tipo de datos subyacente. En tales casos, puede considerar usar el tipo de ref y los métodos bendecidos de Scalar :: Util. – dwarring
@snoopy Aunque, la mayoría de las veces es más útil conocer el nombre del paquete (clase) del objeto. Y no deberías estar jugando con el objeto interno de forma manual de todos modos. – slebetman
posible duplicado de [¿Cómo puedo saber qué tipo de valor es una variable en Perl?] (Http://stackoverflow.com/questions/1731333/how-do-i-tell-what-type-of-value -is-in-a-perl-variable) Nota – Ether