---
name: "CPANPLUS::Internals"
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"
---

# CPANPLUS::Internals(3perl)

CPANPLUS internals

## NAME

CPANPLUS::Internals - CPANPLUS internals

## SYNOPSIS

```
    my $internals   = CPANPLUS::Internals->_init( _conf => $conf );
    my $backend     = CPANPLUS::Internals->_retrieve_id( $ID );
```

## DESCRIPTION

This module is the guts of CPANPLUS -- it inherits from all other modules in the CPANPLUS::Internals::\* namespace, thus defying normal rules of OO programming -- but if you're reading this, you already know what's going on ;)

Please read the `"CPANPLUS::Backend"` documentation for the normal API.

## ACCESSORS

- \_conf

  Get/set the configure object

- \_id

  Get/set the id

## METHODS

### $internals = CPANPLUS::Internals-\>\_init( \_conf =\> CONFIG\_OBJ )

`"_init"` creates a new CPANPLUS::Internals object.

You have to pass it a valid `"CPANPLUS::Configure"` object.

Returns the object on success, or dies on failure.

### $bool = $internals-\>\_flush( list =\> \\@caches )

Flushes the designated caches from the `"CPANPLUS"` object.

Returns true on success, false if one or more caches could not be be flushed.

### $bool = $internals-\>\_register\_callback( name =\> CALLBACK\_NAME, code =\> CODEREF );

Registers a callback for later use by the internal libraries.

Here is a list of the currently used callbacks:

- install\_prerequisite

  Is called when the user wants to be `"asked"` about what to do with prerequisites. Should return a boolean indicating true to install the prerequisite and false to skip it.

- send\_test\_report

  Is called when the user should be prompted if he wishes to send the test report. Should return a boolean indicating true to send the  test report and false to skip it.

- munge\_test\_report

  Is called when the test report message has been composed, giving the user a chance to programatically alter it. Should return the  (munged) message to be sent.

- edit\_test\_report

  Is called when the user should be prompted to edit test reports about to be sent out by Test::Reporter. Should return a boolean  indicating true to edit the test report in an editor and false  to skip it.

- proceed\_on\_test\_failure

  Is called when 'make test' or 'Build test' fails. Should return a boolean indicating whether the install should continue even if the test failed.

- munge\_dist\_metafile

  Is called when the `"CPANPLUS::Dist::*"` metafile is created, like `"control"` for `"CPANPLUS::Dist::Deb"`, giving the user a chance to programatically alter it. Should return the (munged) text to be written to the metafile.

### $bool = $internals-\>\_add\_to\_includepath( directories =\> \\@dirs )

Adds a list of directories to the include path. This means they get added to `@INC` as well as `$ENV{PERL5LIB}`.

Returns true on success, false on failure.

### $id = CPANPLUS::Internals-\>\_last\_id

Return the id of the last object stored.

### $id = CPANPLUS::Internals-\>\_store\_id( $internals )

Store this object; return its id.

### $obj = CPANPLUS::Internals-\>\_retrieve\_id( $ID )

Retrieve an object based on its ID -- return false on error.

### CPANPLUS::Internals-\>\_remove\_id( $ID )

Remove the object marked by `$ID` from storage.

### @objs = CPANPLUS::Internals-\>\_return\_all\_objects

Return all stored objects.
