Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re^5: Parse ISO 8601 date/times (still never \d)

by tye (Sage)
on Nov 07, 2012 at 18:08 UTC ( #1002704=note: print w/replies, xml ) Need Help??

in reply to Re^4: Parse ISO 8601 date/times (never \d)
in thread Parse ISO 8601 date/times

Wow, that's a lot of machinery to avoid running :s/\\d/[0-9]/gc in your editor. I think I'll always choose to avoid the recurring cost.

And I'm mostly not talking about CPU cost (but I suspect that is non-trivial), but the cost of things like mentally having to track new rules about how changing m// to s/// or split() requires extra attention, having to track that \d means different things in different places, having to search for pragmas each time I see \d inside m// if I care which meaning it has, the risk of having to debug the chain of code required to support this, etc.

The risk of just wasting time because of a bug in the added pile of code required to support this is my biggest concern (after having repeatedly been burned by such things), especially when I consider the risk of this idea of pretending \d isn't \d getting in the way of some other tricky module's reasonable-sounding assumptions.

Just because something is possible doesn't mean it is a good idea. :)

- tye        

Replies are listed 'Best First'.
Re^6: Parse ISO 8601 date/times (still never \d)
by tobyink (Abbot) on Nov 07, 2012 at 18:34 UTC

    The second version, which uses overloading, should work with s/// and split //.

    perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1002704]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (6)
As of 2017-07-23 15:06 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (347 votes). Check out past polls.