# Re: query on dynamic

```From:                   p sena <[EMAIL PROTECTED]>
> Could someone pls explain me behind the hood thing for --
> \$x = "041"
> \$y = 12
> then \$z = \$x + \$y, how this comes to be numeric addition. ```
```
In Perl + is always numeric addition. Always. No matter what the
operands are. As such it first evaluated both operand in numeric
scalar context.

> This will
> also be seen for any number of those initial zeros in \$x and may also
> exist in similar way in \$y too. I believe this comes for dynamic
> languages prop ? If this is so then can one do arithmetic(inclusive of
> comparison tests) freely on such situations, without taking into
> concern whether the \$x (for example) above comes with zero perpended
> (for cases of digits from 0-9) or is a two digit number itself (like
> numbers > 10) ? I mean I can do 04 + 12, 00104 + 01, 0101 + 2.50,
> 044.25 + 02.50 etc..

Likewise > is always numeric comparison. Always. If you want a string
comparison you need to use gt.

Some languages, even dynamic-typed ones, use + for both addition and
concatenation and < or > for both numeric and string comparison and
choose the right operation based on the types of the values. Which
often leads to hard to find bugs. Like for example

document.frm.fld.value += 1;

What would you expect it does? Increment the value? Nope. It appends
"1" to the value! Disambiguating numeric and string operation is yet
another thing that Perl does right.

OTOH, be careful with the leading zeroes!
"074" == 74
074  != 74

The catch is that a numeric literal starting with zero (not folowed
by 'x') is assumed to be octal, not decimal. So 074 is 7*8+4 not
7*10+4. "074" is not a numeric literal, it's a string literal. But if
you evaluate a string in numeric context then Perl takes everything
that looks like a decimal number at the start of the string (skipping
any whitespace).

Jenda
===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed
to get drunk and croon as much as they like.
-- Terry Pratchett in Sourcery

_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
```