#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11150213 use warnings; use IO::Compress::Zip qw{zip $ZipError}; my @paths = '.'; # FIXME set to the base of your folder while( defined( my $path = pop @paths) ) { if( -d $path ) { opendir my $dh, $path or die "dir $path errro $1 on opendir"; push @paths, map "$path/$_", grep !/^\.\.?\z/, readdir $dh; } elsif( -f $path and $path =~ /00\z/ ) { print "found to zip: $path\n"; # (zip $path, "$path.zip") ? unlink $path : die "$ZipError on $path"; # untested } }