in reply to Amusement in Auto-Increments
Bizzare!Bizarre, but documented:
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:
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^2: Amusement in Auto-Increments
by cog (Parson) on Jul 22, 2009 at 20:52 UTC |