Perhaps you could use: Archive::Extract

#!/usr/bin/perl -w

$| = 1;
BEGIN {open (STDERR, ">>error.txt"); }

print "Content-type: text/html\n\n";
use Archive::Extract;
use CGI::Carp qw/fatalsToBrowser/;
use File::Find;
use Cwd;
my $dir = cwd();
my $time = time;
my $cnt = 0;
my $who ='';
my $ok = '';

sub rm();
@directories = ("$dir/downloads/tamp");

find(\&rm, @directories);

sub rm() {

my ($filename) = $_;
# $File::Find::dir contains the current directory
# $File::Find::name contains the complete path name (dir + filename)
# $_ or $filename contains the filename alone.

my $temp_webfile = "$File::Find::name" . "_temp";

if (($filename =~ /\.(zip|tar)$/i) && ($filename !~ /search_edit/i)) {
   $cnt++;
   $who = $File::Find::name;

my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks)
= stat($who);
   $who = Archive::Extract->new( archive => "$who" )
   $ok = $who->extract( to => "$dir/adult/plog-content/uploads" );
   print "$cnt\t$filename\tcreated: $ctime\tCHMOD: $mode \n<br>";

}

}

Reply via email to