#!/usr/bin/perl use strict; use warnings; use File::Slurp; use File::Path qw( remove_tree ); my $dir = "/opt/ssi/cache"; my $err_list = "/home/az/log.txt"; my @dirs = read_dir( $dir ); for (@dirs) { next if ( -f $_ ); if ( $_ !~ /(?:_)/ ) { my $removed = "$dir/$_"; remove_tree( $removed , { verbose => 1, error => \my $err_list, }); print "removed : $removed\n"; } }