Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^3: "2" | "8" = ":" and 2|8=10

by bart (Canon)
on Nov 04, 2011 at 12:46 UTC ( #935919=note: print w/ replies, xml ) Need Help??


in reply to Re^2: "2" | "8" = ":" and 2|8=10
in thread "2" | "8" = ":" and 2|8=10

Bitwise operators are the only place where there's a difference between strings and numbers.
No. It matters for post-increment as well.
I think you're wrong there. Postincrement only works different for strings if they start with a letter. For strings like "199" it makes no difference: you just get 200. And other strings apparently are converted to a number first, as $x = "2A"; $x++ produces 3.
It's a deliberate decision, and well worth the offset. It allows you to use bitfields that aren't restricted to 32 (or 64) bits.
Yes, I don't question the functionality, that is useful. But the typical Perl thing to do would have been to provide different operators for strings and for numbers. Just as with = vs eq and + vs ..


Comment on Re^3: "2" | "8" = ":" and 2|8=10
Select or Download Code
Replies are listed 'Best First'.
Re^4: "2" | "8" = ":" and 2|8=10
by JavaFan (Canon) on Nov 04, 2011 at 12:59 UTC
    I think you're wrong there. Postincrement only works different for strings if they start with a letter. For strings like "199" it makes no difference: you just get 200. And other strings apparently are converted to a number first, as $x = "2A"; $x++ produces 3.
    $ perl -E '$x = $y = "A3"; $y + 0; $x++; $y++; say "$x $y"' A4 1 $
    The difference is, $y has an integer (as well as a string value), where $x doesn't. And hence, the post-increment value differs.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (11)
As of 2015-07-30 17:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (273 votes), past polls