The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME

Module::Recursive::Require - This class require module recursively.

DESCRIPTION

# ************************************** before
# use use use use use !!
# ************************************** after
my @required_packages
= Module::Recursive::Require->new()->require_by('MyApp::Foo');

SYNOPSIS

my $r = Module::Recursive::Require->new();
$r->first_loads(
qw/
MyApp::Foo::Boo
/
); # * It loads first.
$r->add_filter(qr/^Hoge/); # * Don't loaded qr/^Hoge/
$r->add_filter(qr/Base.pm$/); # * Don't loaded qr/Base.pm$/
my @packages = $r->require_of('MyApp::Foo');
# * or
my $packages_array_ref
= $r->require_of('MyApp::Foo');

METHOD

new( \%args )

%args = (
path => '/var/www/my/lib', # * default $INC[0]
extensions => 'pm' , # * default "pm" and "pl"
);

first_loads( @package_names );

add_filter(qr/regexp/)

require_of( 'MyApp::Foo' );

require_by( 'MyApp::Foo' );

Deprecated. For backwards compatibility only.

SEE ALSO

UNIVERSAL::require

AUTHOR

Masahiro Funakoshi <masap@cpan.org>