in reply to Re: Why does this non-greedy match not work?
in thread Why does this non-greedy match not work?

I agree entirely, and just wanted to add: a common misconception (one that I was guilty of myself sometimes, before being enlightened about it) is that a regex that doesn't start with ^ but ends with $ somehow changes the behavior of the regex engine to start looking at the end of the string - this isn't how it works, the regex engine always matches from left to right and stops at the first match it finds. A regex of "/foo/bar/baz" =~ m{/[^/]+$} will still cause the regex engine to attempt to match /foo and /bar before settling on /baz - you can see this in action at this link (JavaScript and a modern browser required) when you click the use re "debug"; button.

Update: Corrected = to =~, thanks hippo!