use Archive::Tar; chdir $ENV{'TEMP'} or die "Unable to chdir to $ENV{TEMP}\n"; my $tar = Archive::Tar->new; #I then define $city, $category and $page_number $tar->add_files("$city/$category/$page_number", "$city/$category/filedesc"); $tar->write('c:\files.tar');