C'è qualche funzione disponibile in Perl per verificare il tipo di riferimento:Come ottenere il tipo di riferimento?
my $ref=\@array;
ho bisogno di ottenere il tipo di riferimento come array
dalla funzione.
C'è qualche funzione disponibile in Perl per verificare il tipo di riferimento:Come ottenere il tipo di riferimento?
my $ref=\@array;
ho bisogno di ottenere il tipo di riferimento come array
dalla funzione.
Uso funzione ref:
$ref_type = ref $ref;
Il valore di ritorno è quello di: SCALAR, ARRAY, HASH, CODICE (riferimento al sottoprogramma), GLOB (riferimento a typeglob) e REF (riferimento a riferimento).
realtà, funzione ref può restituire più valori e in caso di riferimento all'oggetto nome del pacchetto ritorna invece di tipo: http://perldoc.perl.org/functions/ref.html.
Nota che il riferimento è stato benedetto, ref() restituisce il nome del pacchetto, non il tipo di dati sottostante. In questi casi, potresti prendere in considerazione l'uso del metodo reftype e dei metodi benedetti di Scalar :: Util. – dwarring
@snoopy Tuttavia, la maggior parte delle volte è più utile conoscere il nome del pacchetto (classe) dell'oggetto. E comunque non dovresti avere problemi con gli oggetti interni manualmente. – slebetman
possibile duplicato di [Come faccio a sapere quale tipo di valore si trova in una variabile Perl?] (Http://stackoverflow.com/questions/1731333/how-do-i-tell-what-type-of-value -is-in-a-perl-variabile) – Ether