"Deven T. Corzine" <firstname.lastname@example.org> writes: >I've yet to see a concrete example of where the current behavior is >helpful, What about matching C comments? ($first_comment) = $code =~ m!(/\*.*?\*/)!s; # (ignore issues with quoted strings in $code Works correctly under the current behavior. It would break under you proposal (if I understand your proposal correctly). More generally, it seems to me that you're hung up on the description of "*?" as "shortest possible match". That's an ambiguous simplification of what "*?" means. It might better be described as "match until you find a match for the rest of the regex" ('d' in your example). If oversimplifications in the documentation led you to believe that "*?" meant something it was never intended to mean, then perhaps the documentation should be clarified. But the meaning of "*?" should not be changed. Final point: In your example, /b[^bd]*d/ does what you want, and is arguably easier to understand. Can you think of any examples where it's not this easy to get the behavior you desire?