use File::Find; my @dirs = qw(.); find( sub{ return if $File::Find::name eq $File::Find::topdir; $File::Find::prune=1, return if -d; if ((my $newname = $_) =~ tr/ /./) { print "Renaming $File::Find::name to $newname\n"; rename $_, $newname or die "Can't rename $_: $!"; } }, @dirs);