В соответствии с этим
http://perldoc.perl.org/UNIVERSAL.html
Я не должен использовать UNIVERSAL:: isa() и вместо этого должен использовать $obj- > isa() или CLASS- > isa().
Это означает, что, чтобы выяснить, является ли что-то ссылкой в первую очередь, а затем ссылается на этот класс, я должен сделать
eval { $poss->isa("Class") }
и проверьте [email protected]и все это gumph, иначе
use Scalar::Util 'blessed';
blessed $ref && $ref->isa($class);
Мой вопрос - почему? Что не так с UNIVERSAL:: isa называется так? Это намного чище для таких вещей, как:
my $self = shift if UNIVERSAL::isa($_[0], __PACKAGE__)
Чтобы узнать, вызывает ли эта функция объект или нет. И есть ли хорошая чистая альтернатива, которая не громоздка с амперсандами и потенциально длинными линиями?