use strict; use warnings; foreach my $vcsv (glob "D:/CPPDaily/SOURCE/SOURCE/HMS/*_valid1.csv") { (my $csv = $vcsv) =~ s/_valid1(\.csv)$/$1/i; if (-e $csv) { warn "$vcsv cannot be renamed: $csv already exists\n"; next; } rename $vcsv, $csv or die "failed to rename $vcsv -> $csv\n"; }