


CPANPLUS::InternaPerlEProgrammersCPANPLUS::Internals::Extract(3p)


NAME
       CPANPLUS::Internals::Extract - extract compressed files
       for CPANPLUS

SYNOPSIS
           ### for source files ###
           $self->_gunzip( file => 'foo.gz', output => 'blah.txt' );

           ### for modules/packages ###
           $dir = $self->_extract( module      => $modobj,
                                   extractdir  => '/some/where' );

DESCRIPTION
       CPANPLUS::Internals::Extract extracts compressed files for
       CPANPLUS.  It can do this by either a pure perl solution
       (preferred) with the use of "Archive::Tar" and
       "Compress::Zlib", or with binaries, like "gzip" and "tar".

       The flow looks like this:

           $cb->_extract
               Delegate to Archive::Extract

METHODS
   $dir = _extract( module => $modobj, [perl => '/path/to/perl',
       extractdir => '/path/to/extract/to', prefer_bin => BOOL,
       verbose => BOOL, force => BOOL] )
       "_extract" will take a module object and extract it to
       "extractdir" if provided, or the default location which is
       obtained from your config.

       The file name is obtained by looking at
       "$modobj->status->fetch" and will be parsed to see if it's
       a tar or zip archive.

       If it's a zip archive, "__unzip" will be called, otherwise
       "__untar" will be called. In the unlikely event the file
       is of neither format, an error will be thrown.

       "_extract" takes the following options:

       module
           A "CPANPLUS::Module" object. This is required.

       extractdir
           The directory to extract the archive to. By default
           this looks something like:
               /CPANPLUS_BASE/PERL_VERSION/BUILD/MODULE_NAME

       prefer_bin
           A flag indicating whether you prefer a pure perl
           solution, ie "Archive::Tar" or "Archive::Zip"
           respectively, or a binary solution like "unzip" and
           "tar".



perl v5.10.1                2009-10-12                          1





CPANPLUS::InternaPerlEProgrammersCPANPLUS::Internals::Extract(3p)


       perl
           The path to the perl executable to use for any perl
           calls. Also used to determine the build version
           directory for extraction.

       verbose
           Specifies whether to be verbose or not. Defaults to
           your corresponding config entry.

       force
           Specifies whether to force the extraction or not.
           Defaults to your corresponding config entry.

       All other options are passed on verbatim to "__unzip" or
       "__untar".

       Returns the directory the file was extracted to on success
       and false on failure.







































perl v5.10.1                2009-10-12                          2


