in reply to Where is the @ISA array?

__PACKAGE__ is taken verbatim and not interpolated like you seem to think it would be. So you're looking at two different variables, @{"__PACKAGE__::ISA"} and @{"metaperl::ISA"}. Why aren't you simply printing out @ISA? Doing __PACKAGE__ gymnastics just to get at variables seems a little roundabout to me.

Replies are listed 'Best First'.
Re^2: Where is the @ISA array?
by metaperl (Curate) on Jan 21, 2009 at 15:34 UTC
    Why aren't you simply printing out @ISA?
    @ISA is a package variable. I am using strict. So I have to package qualify it.
    Doing __PACKAGE__ gymnastics just to get at variables seems a little roundabout to me.
    How would you do it?

      Simply use vars '@ISA';. There is no need to use fully qualified names. In fact, using fully qualified names removes the protection that strict buys you.

      print our @ISA