On the command line you could do,
tar -cvf newarchive.tar `tar -tf archive.tar | grep "gz" | grep -v "si
+g"`
However, in your perl program, you could simply backtick to capture the ".gz" filename you want (using Perl's grep), and then pass that to system as the argument to the tar -cvf command. e.g.,
my @gzfiles = grep { m/gz/ && ! m/sig/ } `tar -tf archive.tar`
my @args = ( "tar","-cvf","newarchive.tar", @gzfiles );
system(@args) == 0
or die "Can't archive files: $!\n@gzfiles";
---
echo S 1 [ Y V U | perl -ane 'print reverse map { $_ = chr(ord($_)-1) } @F;'
Warning: Any code posted by tuxz0r is untested, unless otherwise stated, and is used at your own risk.
| [reply] [d/l] [select] |