Use base is object-oriented programming, used to describe the "base class", in fact, plainly,
Use base somemodule;
is equivalent to a combination of the following two sentences:
begin{
Use Somemodule ();
Push @ISA, QW (Somemodule);
}
You can also use base two or more than two modules at a time, for example:
Use base QW (Foo Bar);
is equivalent to:
BEGIN {
Use Foo ();
Use Bar ();
Push @ISA, QW (Foo Bar);
}
As to what kind of array @ISA is, it's completely off the use base.
However, @ISA is a special array, and its meaning can be found in the description of the big camel.
By the way,
Use Foo ();
And
Use Foo;
is different,
The latter automatically calls the Import function in the Foo package, which does not.
Use base somemodule;
Than
Use Somemodule;
And there's just one more sentence.
Push @ISA, QW (Somemodule);
Reprint: http://blog.csdn.net/zll01/article/details/4520237