use Data::Dumper; unzip_tree($file); print Dumper \@files; sub unzip_tree{ my $zip_file = shift; my $zip = Archive::Zip->new($zip_file); $zip->extractTree( "", "$tmpdir/" ); my @files = grep { -f "$tmpdir/$_"} readdir( UNZIPED ) ; close UNZIPED; @files = map { $_ = "$tmpdir/$_" } @files; return @files; }