The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

CPANPLUS::Internals::Search - internals for searching for modules

SYNOPSIS

my $aref = $cpan->_search_module_tree(
                    type    => 'package',
                    allow   => [qr/DBI/],
                );

my $aref = $cpan->_search_author_tree(
                    type    => 'cpanid',
                    data    => \@old_results,
                    verbose => 1,
                    allow   => [qw|KANE AUTRIJUS|],
                );

my $aref = $cpan->_all_installed( );

DESCRIPTION

The functions in this module are designed to find module(objects) based on certain criteria and return them.

METHODS

_search_module_tree( type => TYPE, allow => \@regexes, [data => \@previous_results ] )

Searches the moduletree for module objects matching the criteria you specify. Returns an array ref of module objects on success, and false on failure.

It takes the following arguments:

type

This can be any of the accessors for the CPANPLUS::Module objects. This is a required argument.

allow

A set of rules, or more precisely, a list of regexes (via qr// or plain strings), that the type must adhere too. You can specify as many as you like, and it will be treated as an OR search. For an AND search, see the data argument.

This is a required argument.

data

An arrayref of previous search results. This is the way to do an AND search -- _search_module_tree will only search the module objects specified in data if provided, rather than the moduletree itself.

_search_author_tree( type => TYPE, allow => \@regexex, [data => \@previous_results ] )

Searches the authortree for author objects matching the criteria you specify. Returns an array ref of author objects on success, and false on failure.

It takes the following arguments:

type

This can be any of the accessors for the CPANPLUS::Module::Author objects. This is a required argument.

allow

A set of rules, or more precisely, a list of regexes (via qr// or plain strings), that the type must adhere too. You can specify as many as you like, and it will be treated as an OR search. For an AND search, see the data argument.

This is a required argument.

data

An arrayref of previous search results. This is the way to do an and search -- _search_author_tree will only search the author objects specified in data if provided, rather than the authortree itself.

_all_installed()

This function returns an array ref of module objects of modules that are installed on this system.