#!/usr/bin/perl -w use strict; opendir(THISDIR,"e:\\perl\\comics\\"); my @comics=readdir(THISDIR); close(THISDIR); foreach (reverse(@comics)) { my ($name,$ext)=split(/\./,$_); if ($name=~/\d{3}/) { print '.'; } elsif ($name=~/\d{2}/) { my $old=$name; $name=~s/(\d{2})/0$1/; rename "$old\.$ext", "$name\.$ext"; } elsif ($name=~/\d{1}/) { my $old=$name; $name=~s/(\d{1})/00$1/; rename "$old\.$ext", "$name\.$ext"; } } #### #!/usr/bin/perl use warnings; use strict; chdir('e:/perl/comics/'); my @comics = glob('*.png'); foreach(@comics) { my $oldname = $_; $_ =~ s/(\d+)/sprintf("%03d",$1)/e; rename($oldname,$_) unless $oldname eq $_; }