in reply to RegEx Help

If I were you, I'd also standardize the naming format and lowercase everything while I was at it, but maybe that's just me.

use strict; use warnings; my @files = qw| filename=merilyn14.jpg.jpeg filename=003_Merilyn23.jpg.jpeg filename=890FoxyM.jpg.jpeg filename=006.jpg.jpeg |; my ($file, $folder); for (@files) { next if !s/^filename=//; s/(\.jpe?g)+$//; $file = "$_.jpg"; s/^\d+_?//; s/_?\d+$//; $folder = $_ || 'FileNum'; print "$file -> $folder\n"; } __DATA__ OUTPUT: merilyn14.jpg -> merilyn 003_Merilyn23.jpg -> Merilyn 890FoxyM.jpg -> FoxyM 006.jpg -> FileNum