$ perl mpj4.pl file: /home/dan/Desktop/upload/382432_10150873103536275_1105470601_n.jpg ext: jpg filename: /home/dan/Desktop/upload/image_1.jpg file: /home/dan/Desktop/upload/542274_470102786337441_1974797173_n.jpg ext: jpg filename: /home/dan/Desktop/upload/image_2.jpg file: /home/dan/Desktop/upload/safe_image.php.jpeg ext: jpeg filename: /home/dan/Desktop/upload/image_3.jpeg $ cat mpj4.pl #!/usr/bin/perl -w use strict; my $path = '/home/dan/Desktop/upload/'; my @files = <$path*>; my $counter = 0; for my $img (@files) { $counter++; print "file: $img\n"; my $ext = ($img =~ m/([^.]+)$/)[0]; print "ext: $ext\n"; my $filename = "$path" . "image_". "$counter" . '.' . "$ext"; print "filename: $filename\n"; rename ($img, $filename) or warn "couldn't rename $img to $filename: $!\n"; } $