Did you find the review of Archive::Tar that I mentioned to you in a previous thread? Did you try to read the Archive::Tar manual? If you didn't, you really should -- and as Fletch suggests, you should do some more diagnostics and debugging on your own -- before posting on this topic again.
Here's an adapted version of code you can find in the afore-mentioned review article, using some of the info from your code snippet:
use Archive::Tar;
my $tar = Archive::Tar->new( "test.tar" );
# get a list of Archive::Tar::File objects whose file names match "lr3
+*":
my @files = grep { $_->name =~ /^lr3/ } $tar->get_files;
for my $file ( @files ) {
$tar->extract_file( $file ); # this method works on A::T::F objec
+ts
}
UPDATE: If the code snippet above does not work for you, it's probably because your test.tar file has the "lr3*" files inside a directory, and maybe the regex in the grep statement should be: m{/lr3} instead of /^lr3/. |