NAME
Module::Functions - Get function list from package.
SYNOPSIS
package My::Class;
use parent qw/Exporter/;
use Module::Functions;
our @EXPORT = get_public_functions();
DESCRIPTION
Module::Functions is a library to get a public functions list from
package. It is useful to create a exportable function list.
METHODS
my @functions = get_public_functions()
my @functions = get_public_functions($package)
Get a public function list from the package.
If you don't pass the $package parameter, the function use caller(0) as
a source package.
This function does not get a function, that imported from other package.
For example:
package Foo;
use File::Spec::Functions qw/catfile/;
sub foo { }
In this case, return value of "get_public_functions('Foo')" does not
contain 'catfile'. Return value is "('foo')".
RULES
This "get_public_functions" removes some function names.
Rules are here:
BEGIN, UNITCHECK, CHECK, INIT, and END are hidden.
'import' method is hidden
function name prefixed by '_' is hidden.
my @functions = get_full_functions();
my @functions = get_full_functions($package)
This function get ALL functions. ALL means functions that were imported
from other packages. And included specially named functions(BEGIN ,
UNITCHECK , CHECK , INIT and END). Of course, included also private
functions( ex. _foo ).
AUTHOR
Tokuhiro Matsuno <tokuhirom AAJKLFJEF@ GMAIL COM>
SEE ALSO
Exporter::Auto have same feature of this module, but it stands on very
tricky thing.
Class::Inspector finds the function list. But it does not check the
function defined at here or imported from other package.
LICENSE
Copyright (C) Tokuhiro Matsuno
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.