Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^4: Bring back the smartmatch operator (but with sane semantics this time)!

by flowdy (Sexton)
on Jun 15, 2014 at 12:13 UTC ( #1089939=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Bring back the smartmatch operator (but with sane semantics this time)!
in thread Bring back the smartmatch operator (but with sane semantics this time)!

When do you consider something a number?

I personally would just go for a technical, non-heuristic approach:

  • Numbers: 42, $scalar+0, $scalar having a defined numeric context slot
  • Non-numbers: 'quoted string', $scalar


Comment on Re^4: Bring back the smartmatch operator (but with sane semantics this time)!
Re^5: Bring back the smartmatch operator (but with sane semantics this time)!
by moritz (Cardinal) on Jun 16, 2014 at 19:47 UTC
    use 5.014; use strict; use Devel::Peek; my $x = 'not a number'; say 0 + $x; Dump $x; __END__ 0 SV = PVNV(0x1b87050) at 0x1ba83b8 REFCNT = 1 FLAGS = (PADMY,POK,IsCOW,pIOK,pNOK,pPOK) IV = 0 NV = 0 PV = 0x1bafe30 "not a number"\0 CUR = 12 LEN = 14 COW_REFCNT = 1

    By your definition, smart-matching against $x would do a numeric comparision, because it has a numeric slot. There's your WTF right away.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1089939]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (10)
As of 2014-10-31 18:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (223 votes), past polls