Ниже представлен отладочный сеанс на Perl 5.12. Есть ли в этом смысл? UNIVERSAL
кэширует версию переменной @ISA
, которая, если навсегда ее использует. Назад до Class::ISA
устарел, я использовал для вызова Class::ISA::self_and_super_path
, чтобы заставить внутренние элементы relook в массиве @ISA
. Поскольку теперь это считается ненужным, как вы получаете perl для проверки своих внутренних записей?
DB<34> p $papa
Papushka=HASH(0x16bc0300)
DB<35> p $papa->isa('Nanushka')
DB<36> p $papa->isa('Babushka')
1
DB<37> x @Papushka::ISA
0 'Nanushka'
1 'Babushka'
Это тестовый код (очевидно). Он получает те же результаты, запускается ровно, запускается как тест или запускается в отладке. Я должен сказать вам, что до этого @ISA = qw<Babushka>
и я выполнил
splice( @ISA, 0, 0, 'Nanushka' );
Это проблема? Если вы только push
на @ISA
?