foreach my $file (glob "*.old") { my $newfile = $file; $newfile =~ //.old$//.new$/; if (-e $newfile) { warn "$newfile exists/n"; } elsif (rename $file $newfile){} else { warn "rename $file to $newfile failed: $!/n"; } }