in reply to __PACKAGE__-compile .. what in the world is this?
What this does is uses the special token __PACKAGE__ to invoke a static (class) method called compile() with the arguments you see there. Specifically, an array reference with four elements.
The __PACKAGE__ token yields the current package that the interpreter is executing in (this wording is kind of cramped, I realize, but I can't think of a better way to say it right now). If the interpreter encounters it in an inherited method from within a subclass, it will yield that subclasses name. What this means is, a method in an intended base-class can write this as a way of invoking compile as a method, without using an actual object reference. It's still treated as a method invocation, and uses the @ISA search path of the actual (sub)class, not the original class from which it was derived.
--rjray
|
|---|