http://www.perlmonks.org?node_id=1147668

fasoli has asked for the wisdom of the Perl Monks concerning the following question:

Hello wise monks,

I have been trying to write a foreach loop in order to untar multiple tar.gz files that I (will) have in a directory. The script I've written is

#/bin/perl/ use strict; use warnings; # First, setting the directories we're interested in. my $inputs = "~/inputs"; # inputs we upload to the server. my $results = "~/results"; # results coming in. my @array; # tarballs of the incoming results. chomp (@array = system "ls $results\/*.tar.gz"); # putting all tar fil +es in an array # tar can't accept multiple tar.gz files as input # arguments after the tarball filename are expected to be files to unt +ar from the tarball. foreach (@array) { system "tar -tvf $results\/$_"; }

And this is the output I'm getting:

/home/user/results/results_back.tar.gz (my comment -> that's the ls c +ommand output, so it is finding one tar.gz file, I only have one for +now) tar: 0: Cannot open: No such file or directory tar: Error is not recoverable: exiting now

So there seems to be something wrong but I can't find what. As you can see, for now I'm only listing the tar.gz contents, if I get it working I'll add the real extract command.

Have I made a very obvious mistake? It would be great if you could give me a hint about what might be happening.

Thank you! :) I'd really appreciate any help :)