I've noticed some similarities between Ruby and Perl, but have noticed some really strange differences. One of these is this:
0.1 + 0.1
0.1 + "0.1"
"0.1" + "0.1"
In Ruby, the answers would be as follows:
0.2
Error: String can't be coerced into Float (TypeError)
0.10.1
In Perl:
0.2
0.2
0.2
I'll have to do some digging to see why it happens like this in Perl, but it's really strange to me, perhaps because I learned it, well, the Ruby way.
1 comments:
Perl decides what to do based on the operator. The mathematic operators, like +, always do math. Perl automatically converts strings to numbers.
If you want to join strings, you can use the concatenation operator, . (the single dot). That will always treat its operands as strings.
Perl depends on context, and what you are doing is more important what you are doing it with.
Post a Comment