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

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

convenience functions for CPANPLUS

## NAME

CPANPLUS::Internals::Utils - convenience functions for CPANPLUS

## SYNOPSIS

```
    my $bool = $cb->_mkdir( dir => 'blah' );
    my $bool = $cb->_chdir( dir => 'blah' );
    my $bool = $cb->_rmdir( dir => 'blah' );
    my $bool = $cb->_move( from => '/some/file', to => '/other/file' );
    my $bool = $cb->_move( from => '/some/dir',  to => '/other/dir' );
    my $cont = $cb->_get_file_contents( file => '/path/to/file' );
    my $version = $cb->_perl_version( perl => $^X );
```

## DESCRIPTION

`"CPANPLUS::Internals::Utils"` holds a few convenience functions for CPANPLUS libraries.

## METHODS

### $cb-\>\_mkdir( dir =\> '/some/dir' )

`"_mkdir"` creates a full path to a directory.

Returns true on success, false on failure.

### $cb-\>\_chdir( dir =\> '/some/dir' )

`"_chdir"` changes directory to a dir.

Returns true on success, false on failure.

### $cb-\>\_rmdir( dir =\> '/some/dir' );

Removes a directory completely, even if it is non-empty.

Returns true on success, false on failure.

### $cb-\>\_perl\_version ( perl =\> 'some/perl/binary' );

`"_perl_version"` returns the version of a certain perl binary. It does this by actually running a command.

Returns the perl version on success and false on failure.

### $cb-\>\_version\_to\_number( version =\> $version );

Returns a proper module version, or '0.0' if none was available.

### $cb-\>\_whoami

Returns the name of the subroutine you're currently in.

### \_get\_file\_contents( file =\> $file );

Returns the contents of a file

### $cb-\>\_move( from =\> $file\|$dir, to =\> $target );

Moves a file or directory to the target.

Returns true on success, false on failure.

### $cb-\>\_copy( from =\> $file\|$dir, to =\> $target );

Moves a file or directory to the target.

Returns true on success, false on failure.

### $cb-\>\_mode\_plus\_w( file =\> '/path/to/file' );

Sets the +w bit for the file.

Returns true on success, false on failure.

### $uri = $cb-\>\_host\_to\_uri( scheme =\> SCHEME, host =\> HOST, path =\> PATH );

Turns a CPANPLUS::Config style `"host"` entry into an URI string.

Returns the uri on success, and false on failure

### $cb-\>\_vcmp( VERSION, VERSION );

Normalizes the versions passed and does a '\<=\>' on them, returning the result.

### $cb-\>\_home\_dir

Returns the user's homedir, or `"cwd"` if it could not be found

### $path = $cb-\>\_safe\_path( path =\> $path );

Returns a path that's safe to us on Win32 and VMS.

Only cleans up the path on Win32 if the path exists.

On VMS, it encodes dots to \_ using `"VMS::Filespec::vmsify"`

### ($pkg, $version, $ext) = $cb-\>\_split\_package\_string( package =\> PACKAGE\_STRING );

Splits the name of a CPAN package string up into its package, version  and extension parts.

For example, `"Foo-Bar-1.2.tar.gz"` would return the following parts:

```
    Package:    Foo-Bar
    Version:    1.2
    Extension:  tar.gz
```
