in reply to Filename Parsing

I think you're asking how to capture the "alpha" portion, the first underscore, and the first digits up until the next underscore. liz's method works. I just wanted to propose a different regexp that is more explicit (leaves less for the +? and + quantifiers to tug-of-war over).

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


"If I had my life to do over again, I'd be a plumber." -- Albert Einstein