in reply to Re^4: Incrementing a large number without Math::BigInt
in thread Incrementing a large number without Math::BigInt
Only auto-increment (++) is magical in that fashion and only when the variable is a "string". From perlop:
The auto-increment operator has a little extra builtin magic to it. If you increment a variable that is numeric, or that has ever been used in a numeric context, you get a normal increment. If, however, the variable has been used in only string contexts since it was set, and has a value that is not the empty string and matches the pattern /^a-zA-Z*0-9*\z/, the increment is done as a string, preserving each character within its range, with carry:The auto-decrement operator is not magical.print ++($foo = '99'); # prints '100' print ++($foo = 'a0'); # prints 'a1' print ++($foo = 'Az'); # prints 'Ba' print ++($foo = 'zz'); # prints 'aaa'
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^6: Incrementing a large number without Math::BigInt
by ikegami (Patriarch) on Apr 26, 2006 at 05:17 UTC | |
by Cap'n Steve (Friar) on Apr 26, 2006 at 05:45 UTC | |
by ikegami (Patriarch) on Apr 26, 2006 at 06:33 UTC |