---
name: "CPANPLUS::Internals::Search"
section: "3perl"
platform: "linux"
package: "perl-doc"
version: "5.14.2-21+deb7u3"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/CPANPLUS::Internals::Search"
---

# CPANPLUS::Internals::Search(3perl)

internals for searching for modules

## 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.
