in reply to Failed regex: negative look-behinds

Here is one way to do it. Also take a look at perlre

$file = '_error' if (($file !~ /^([a-zA-Z0-9])+$/) or ($file =~ /^compiled/));

Prasad