in reply to File Name Pattern

Here's one way.
opendir D, "."; my @old_files = grep { /^\d+\.jpg$/ } # keep only those of interest readdir D; closedir D; my %dirs; my %renames; @renames{ @old_files } = # insert slash; remember dir: map { s#(...)#$1/#; $dirs{$1}++; $_ } # pad with zeros: map { s/(\d+)/ sprintf "%06d", $1 /e; $_ } @old_files; for my $dir ( keys %dirs ) { mkdir $dir; -d $dir or die "Error: failed to assert director $dir"; } while ( my( $old, $new ) = each %renames ) { rename $old, $new or warn "Failed to rename $old as $new: $!\n"; }

jdporter
...porque es dificil estar guapo y blanco.