#!/usr/bin/perl -w use strict; use warnings; use Cwd qw(cwd); use POSIX qw/strftime/; use IO::Compress::Zip qw(:all); # Timestamp my $now = strftime("%d%b%Y_%H00", localtime(time - 60*60)); # Where zip file is to be stored my $arc = "/path/to/archive/"; # Where csv files are found. chdir "/path/to/directory"; # Zipping files found and storing into archive zip [ glob("*-".$now.".csv") ] => $arc.$now.".zip" or die "Cannot create zip file: $ZipError" ; # Deleting csv files unlink glob("*-".$now.".csv");