in reply to Re^4: eval to replace die?
in thread eval to replace die?

It doesn't perform a regular expression match, for one.

So now you are demonising regular expressions? Should we scrap regexes all together?

If you've never changed the text of an exception message and then had to change the regex of handlers, good. I have.

And you've never had to restructure your exceptions? I have.

I say again, how is that different?

Look at all the places in the Exception Class example I posted where the (same) name of the exception (class) is embedded inside a string.

Maybe those can be avoided by using Exception::Class better? If so, please enlighten us with an example.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
RIP an inspiration; A true Folk's Guy

Replies are listed 'Best First'.
Re^6: eval to replace die?
by chromatic (Archbishop) on Oct 04, 2010 at 16:43 UTC
    Should we scrap regexes all together?

    How do you go from "Converting structured information to strings, then using regular expressions to attempt to extract structured information is fragile" to "Don't use regular expressions"?

    Or just $@ =~ /^Uninitialised variable/ to match just the invariant part of the error.

    Invariants often aren't. See also theory's comment about localizing Bricolage.

    And you've never had to restructure your exceptions?

    Of course I have. Code changes. Changing regular expressions used for control flow because data has changed is different.

      No. I reach there by extrapolation from your "It doesn't perform a regular expression match, for one."

      You say that, thereby implying that regular expressions are a bad thing.

      I just take your words to their logical conclusion. It's called proof by contradiction; or disproof by "Reductio ad absurdum".

      If regular expressions are so bad for exception handling; why would they be reliable for anything else?


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.