| Module-Locate documentation | view source | Contained in the Module-Locate distribution. |
Module::Locate - locate modules in the same fashion as require and use
use Module::Locate qw/ locate get_source /;
add_plugin( locate "This::Module" );
eval 'use strict; ' . get_source('legacy_code.plx');
Using locate(), return the path that require would find for a given
module or filename (it can also return a filehandle if a reference in @INC
has been used). This means you can test for the existence, or find the path
for, modules without having to evaluate the code they contain.
This module also comes with accompanying utility functions that are used within
the module itself (except for get_source) and are available for import.
importGiven function names, the appropriate functions will be exported into the caller's package.
If :all is passed then all subroutines are exported.
If Global => BOOL is passed, then the results for module
searches i.e using locate, will also be stored in %INC, like
require. This is on by default.
If Cache => BOOL is passed, then every subsequent search for a module
will just use the path stored in %INC, as opposed to performing another
search. This is off by default.
locateGiven a module name as a string (in standard perl bareword format) locate the
path of the module. If called in a scalar context the first path found will be
returned, if called in a list context a list of paths where the module was
found. Also, if references have been placed in @INC then a filehandle will
be returned, as defined in the require documentation. An empty return is
used if the module couldn't be located.
As of version 1.7 a filename can also be provided to further mimic the lookup
behaviour of require/use.
get_sourceWhen provided with a package name, retrieve the source of the module that is found.
acts_like_fhGiven a scalar, check if it behaves like a filehandle. Firstly it checks if it
is a bareword filehandle, then if it inherits from IO::Handle and lastly if
it overloads the <> operator. If this is missing any other standard
filehandle behaviour, please send me an e-mail.
mod_to_pathGiven a module name convert it to a relative path e.g Foo::Bar would become
Foo/Bar.pm.
is_mod_loadedGiven a module name (like locate()), return true if the module has been
loaded (i.e exists in the %INC hash).
is_pkg_loadedGiven a package name (like locate()), check if the package has an existing
symbol table loaded (checks by walking the %main:: stash).
No known bugs yet, but if you find any, please report them at:
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Module-Locate
Dan Brook <cpan@broquaint.com>
perl, use, require
| Module-Locate documentation | view source | Contained in the Module-Locate distribution. |