Try the following code.
#!/usr/bin/perl
use warnings;
use strict;
use Archive::Tar;
use Data::Dumper;
my $cdr_dir="/root/prac/NSN_SGSN";
my @cdr_list=`ls $cdr_dir/*tar.gz`;
print Dumper \@cdr_list;
foreach my $file (@cdr_list)
{
chomp $file;
my $pipecmd = "tar -xvf $file";
#open my $fh, q{<}, qq{tar xzOF $file | } or die $!;
open(my $PIPEIN, '-|', $pipecmd) or die "Opening pipe [$pipecm
+d]: $!\n";
while ( my $line = <$PIPEIN> )
{
print $line;
}
close $PIPEIN;
}
Update:
Try whatever the option you want with the tar command, I used -xvf for sample tesing.
You have included Archive::Tar why do not you use that module to read the tar file content ?
All is well. I learn by answering your questions...