NAME

also - pragma to export a module into your caller's namespace

SYNOPSIS

My/Mod.pm:

package My::Mod;

use also 'My::OtherMod' => [ qw/foo bar/ ];

program:

use My::Mod;

this is now effectively:

use My::Mod;
use My::OtherMod qw/foo bar/;

DESCRIPTION

also will export a module into your caller's namespace as well as yours. It does this by replacing your import method with one which does the imports and then calls the original: this means that you must define your import method before you use all. If you don't and you have warnings turned on you will get a "Subroutine import redefined" warning.

The arguments to use also are modules to import. If a module name is followed by an arrayref, its contents are passed as the arguments to that module's import function; if the arrayref is empty (i.e. if you write

use also 'My::Mod' => [];

) then the module's import function will not be called at all. (This will have the same effect as

use My::Mod ();

, and thus is perhaps rather pointless :).

AUTHOR

Ben Morrow <also-pm@morrow.me.uk>

COPYRIGHT

Copyright 2004 Ben Morrow.

This program is released under the same terms as Perl.