Hi,
..My perl script is in this directory and .caz(form of zip) files are also there in this directory..
One way of achieving your aim is as follow:
- Open the directory that has both perl script and the files you want to extract,
- get the names of the files ( I used zip in the code below ) using match and Regex, then make a folder with the name,
- copy the files to the newly created folder and use the module Archive::Extract to the content in the folder
Please, modify the script below to suit your purpose:
#!/usr/bin/perl
use warnings;
use strict;
use File::Copy qw(copy);
use Archive::Extract;
use Cwd qw(abs_path);
my $current_directory = $ARGV[0] // '.';
$current_directory = abs_path $current_directory;
chdir $current_directory or die "directory doesn't exist: $!";
opendir my $dh, $current_directory or die "can't open directory: $!";
while ( my $file = readdir $dh ) {
chomp $file;
next if $file eq '.' or $file eq '..';
if ( $file =~ m{(?<filename>(?<new_folder>.+?)\.zip)$} ) {
mkdir $+{new_folder}; ## make the folder
copy $+{filename},
$+{new_folder}; ## copy file to be extracted into it'
+s folder
# files extracted in it's folder
my $extract_file = Archive::Extract->new( archive => $+{filena
+me} );
$extract_file->extract( to => $+{new_folder} )
or die $extract_file->error;
}
}
closedir $dh or die "can't close directory: $!";
You might have to check
Archive::Extract
Hope this helps.
If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author
unknown to me
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.