Thread Hashreferenz auf Gültigkeit prüfen
(9 answers)
Opened by Duff at 2008-08-01 13:58
ref( $hash_ref ) liefert Dir den Namen des Referenztyps (bei Objekten, den Klassennamen zu dem das Objekt gehört).
Code (perl): (dl
)
1 2 3 4 5 6 7 print ref( \$scalar ); # SCALAR print ref( {} ); # HASH print ref( [] ); # ARRAY print ref( \&subroutine ); # CODE print ref( CGI->new ); # CGI Ich überprüfe erst, ob $hash_ref einen "wahren" Wert zurückliefert. Danach, ob überhaupt ein "ref"-Ergebnis zurückkommt. Wenn Du einen String oder eine Zahl zurückliefern würdest, würde ref einen leeren String zurückliefern (print ref "test"; # nix). Wenn ref einen String liefert liefert, teste ich, ob es ein Hash ist (siehe Beispiele oben) und wenn es eine Hashreferenz ist, überprüfe ich noch, ob Schlüssel in dem Hash existieren. So eine Überprüfung ist vor allem dann notwendig, wenn Du auf die Subroutine, die $hash_ref liefert keinen Einfluss hast (z.B. externe Module). OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/) -- Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html Perl-Entwicklung: http://perl-services.de/ |