in reply to Syntax Error deleting files and folders in a directory

readdir isn't for people, its for computers, don't use readdir, use Path::Tiny, you'll like it, I promise, see Re: Text merge concept in perl (Path::Tiny
selective_delete( $destinationDir , \@KEEP ); sub selective_delete { my( $thedir, $keepers ) = @_; my %keepers = map { path( $thedir , $_ ) => 1; } @$keepers; my @goners = grep { not exists $keepers{$_} } path( $thedir )->chi +ldren; for my $goner ( @goners ){ path( $goner )->remove; } return; }
https://metacpan.org/pod/Path::Tiny#children