Warum sollte ich nicht UNIVERSAL::isa?

Gemäß dieser

http://perldoc.perl.org/UNIVERSAL.html

Ich soll nicht mit UNIVERSAL::isa() und sollte stattdessen mit $obj->isa() oder KLASSE->isa().

Dies bedeutet, dass, um herauszufinden, ob etwas eine Referenz in den ersten Platz, und dann ist die Referenz zu dieser Klasse zu tun haben, ich

eval { $poss->isa("Class") }

und check $@ und alle, die gumph, oder sonst

use Scalar::Util 'blessed';
blessed $ref && $ref->isa($class);

Meine Frage ist, warum? Was ist falsch mit UNIVERSAL::isa genannt, wie das? Es ist viel sauberer für Dinge wie:

my $self = shift if UNIVERSAL::isa($_[0], __PACKAGE__)

Sehen, ob diese Funktion für das Objekt aufgerufen wird oder nicht. Und ist es eine schöne, saubere alternative, die nicht umständlich mit kaufmännisches und potenziell lange Zeilen?

InformationsquelleAutor Altreus | 2008-10-15
Schreibe einen Kommentar