in reply to Re^3: a word of warning about /$pattern/
in thread a word of warning about /$pattern/

Fair point. The example is not the best I've ever written.

The point is that the empty regex behaviour is useful for allowing you to use m/.../ and then later s//.../ without having to match a second time. Maybe this is better

if ($foo and /bar/) { print "Condition suceeds.\n"; if ($bloop and /bop/) { #... } # do other stuff, maybe even exit... s//baz/; # switch bar or bop with baz depending # on a bunch of things that have already happened. }

Hopefully now you see the point? Sure we could probably rework the logic so this isnt needed, but I like the possibilities this opens up. :-)


---
demerphq

    First they ignore you, then they laugh at you, then they fight you, then you win.
    -- Gandhi


Replies are listed 'Best First'.
Re^5: a word of warning about /$pattern/
by Aristotle (Chancellor) on Dec 08, 2003 at 06:20 UTC
    Oh, I understand what you were getting at. I still see it as somewhat obfuscatory though. I also don't really like it conceptually, as the s/// is actually doing the match from scratch (so it's not an atomic operation). It might still be the best way to go about this problem, I don't know: I don't remember ever having to have needed to implement such logic so I have no realistic example scenario to go by. I just can't help the feeling that there has to be a clearer way.

    Makeshifts last the longest.