opendir(DIR, $dir) || die "can't opendir $dir: $!"; my @files =grep { /\.jpg$/i || /\.gif/i || /\.png/i || /\.bmp/i || /\.jpeg/i} readdir(DIR); closedir DIR; foreach my $file (@files) { my $ext; $file =~ m/(.[^.]+)$/; $ext = $1; $cnt++; rename $file, "$cnt$ext" or die $!; print "$file is now known as $cnt$ext\n"; }