| Module::Metadata - Gather package and POD information from perl module files |
Module::Metadata - Gather package and POD information from perl module files
Construct a ModuleInfo object given the path to a file. Takes an optional
argument collect_pod which is a boolean that determines whether
POD data is collected and stored for reference. POD data is not
collected by default. POD headings are always collected.
Construct a ModuleInfo object given a module or package name. In addition
to accepting the collect_pod argument as described above, this
method accepts a inc argument which is a reference to an array of
of directories to search for the module. If none are given, the
default is @INC.
name()Returns the name of the package represented by this module. If there are more than one packages, it makes a best guess based on the filename. If it's a script (i.e. not a *.pm) the package name is 'main'.
version($package)Returns the version as defined by the $VERSION variable for the
package as returned by the name method if no arguments are
given. If given the name of a package it will attempt to return the
version of that package if it is specified in the file.
filename()Returns the absolute path to the file.
packages_inside()Returns a list of packages.
pod_inside()Returns a list of POD sections.
contains_pod()Returns true if there is any POD in the file.
pod($section)Returns the POD data in the given section.
Returns the path to a module given the module or package name. A list of directories can be passed in as an optional parameter, otherwise @INC is searched.
Can be called as either an object or a class method.
Returns the entry in @dirs (or @INC by default) that contains
the module $module. A list of directories can be passed in as an
optional parameter, otherwise @INC is searched.
Can be called as either an object or a class method.
Scans $dir for .pm files (unless @files is given, in which case looks
for those files in $dir - and reads each file for packages and versions,
returning a hashref of the form:
{
'Package::Name' => {
version => '0.123',
file => 'Package/Name.pm'
},
'OtherPackage::Name' => ...
}
Used internally to perform logging; imported from Log::Contextual if Log::Contextual has already been loaded, otherwise simply calls warn.
Ken Williams <kwilliams@cpan.org>, Randy W. Sims <RandyS@ThePierianSpring.org>
Released as Module::Metadata by Matt S Trout (mst) <mst@shadowcat.co.uk> with assistance from David Golden (xdg) <dagolden@cpan.org>
Copyright (c) 2001-2011 Ken Williams. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Module::Metadata - Gather package and POD information from perl module files |