CPANPLUS::Internals::Extract(3pm) | User Contributed Perl Documentation | CPANPLUS::Internals::Extract(3pm) |
CPANPLUS::Internals::Extract - internals for archive extraction
### for source files ### $self->_gunzip( file => 'foo.gz', output => 'blah.txt' ); ### for modules/packages ### $dir = $self->_extract( module => $modobj, extractdir => '/some/where' );
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
"_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:
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.
2021-11-24 | perl v5.32.1 |