my $ref = ref($data); my $reftype = reftype($data); my $blessed = blessed($data); if ( $ref ) { # $data ist eine Referenz if ( $blessed ) { # $data ist ein Objekt if ( uc($blessed) eq 'REGEXP' ) { # $data ist eine Referenz auf einen regulären # Ausdruck, z.B. mit qr// erstellt } } else { # $data ist kein Objekt if ( $reftype eq 'REF' ) { # $data ist eine Referenz auf eine Referenz } elsif ( $reftype eq 'SCALAR' ) { # $data ist eine Referenz auf ein Scalar } elsif ( $reftype eq 'ARRAY' ) { # $data ist eine Referenz auf ein Array } elsif ( $reftype eq 'HASH' ) { # $data ist eine Referenz auf ein Hash } elsif ( $reftype eq 'CODE' ) { # $data ist eine Codereferenz } elsif ( $reftype eq 'GLOB' ) { # $data ist eine Globreferenz } } } else { # $data ist keine Referenz }