in reply to Filename Parsing
if ( $string =~ /^([^\W\d_]+_\d+)/ ) { print "Matched $1\n"; }
Because the metacharacter \w embodies [A-Za-z_0-9], and \W is the same as the negated character class, "[^A-Za-z_0-9]", and because \d embodies [0-9], what the negated character class "[^\W\d]" does is it says, "Match anything that's NOT a non-word, and not a digit." The regexp engine then continues matching the first underscore and all subsequent digits, stopping when you reach something that's not a digit.
Also, if your question was about how to obtain the contents of the directory in the first place, I happen to like the standard module File::Find. It's POD is available at your local Perl installation.
Dave
|
|---|