#!/usr/bin/perl use warnings; use strict; use 5.010; foreach my $file (glob "*.txt") { my $newfile = $file; $newfile =~ s/_oldname_/_newname_/g; if (-e $newfile) { warn "can't rename $file to $newfile: $newfile exists\n"; } elsif (rename $file, $newfile) { } else { warn "rename $file to $newfile failed: $!\n"; } } exit;