The following is a debug session on Perl 5.12. Does this make any sense? Does UNIVERSAL cache a version of the @ISA variable, which if forever uses the
UNIVERSAL
@ISA
Yes, there is a cache. But if you can modify @ISA without invalidating that cache, I would consider it a bug in perl.
Does your problem disappear if you add the line @ISA = @ISA; after your splice line?
@ISA = @ISA;
splice