in reply to regexp to check if file name matches pattern

An alternate solution (there are many):
$file= "SYSB_A31.GROUPINS%RDEBLIST%REAPPLY%2008.12.16.20.31.35.pdf"; if ($file =~ /^SYS[\w.]+%[\w.]+%[\w.]+%[0-9.]+.pdf/) {print "yes"} else {print "no"} #prints yes
A set of characters is enclosed in []. \w are the "word chars" and we add the "dot" to that set by \w.+. Same idea with 0-9.+. Other solution that has [^%]+ is good too. That means anything except %. Take your pick.