#!perl -w use strict; chdir('bar') or die("chdir() failed: $!\n"); my $cnt; rename( $_, sprintf('%03d-%s', ++$cnt, $_) ) or warn("rename() failed: $!\n") for ( grep { ! /\A\./ } glob('*') );