http://qs321.pair.com?node_id=87782


in reply to Re: Re: Modules: Building blocks for the Daft Adventure
in thread Modules: Building blocks for the Daft Adventure

@ISA does the same thing here that it does in an OO module. It defines other modules that Perl should search for subroutines that you don't define in your module.

For example, in this case use Module is (almost) the same as:

require Module; Module::import;

So Perl tries to call the import function in your module. Your module doesn't have an import function so Perl searches the modules in @ISA and calls the first instance of import that it finds. This is in Exporter. Exporter::import does all sorts of clever things and exports the contents of your @EXPORT_OK array into the calling package.

Update: Ridiculous typo corrected. Thanks to ryddler.

--
<http://www.dave.org.uk>

Perl Training in the UK <http://www.iterative-software.com>