Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

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

by flowdy (Scribe)
on Jun 15, 2014 at 12:13 UTC ( [id://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

Replies are listed 'Best First'.
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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1089939]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (7)
As of 2024-03-28 10:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found