in reply to Why this Simple REGEX does Not Match?

mmartin:

If you have a regex like:

if ($foo =~ /.*\/jpg\/.*/) { ... }

It's looking for a string containing "/jpg/". Notice that slash at the end. It won't match "http://fakesite/blarf.jpg" because the slash.

By the way, using m{..regex..} allows you to avoid the backslashes used to escape your forward slashes. So, the regex m{.*/jpg/.*} is better written as m{/jpg/}. So your regex looks like it could be simplified to:

m{(css|js|images|covers|pdf|jpg|MultiTrack|files-png|newissues|files|v +ideo|mp3|audio|invoices|MYFILES|newsclubs|scorch|images\/myfile|video +|mp3|audio).*}

assuming you're just looking for paths ending in one of the specified bits. You'd probably do well to read and understand perldoc perlre.

Update: a little edit in the first couple minutes, trying to get it to read well.

...roboticus

When your only tool is a hammer, all problems look like your thumb.