Hi ...

I am trying to understand the auto-incr/decr out of the 'perlop' man page.

I could not fully understand the following.

"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]*$/, 
the increment is done as a string, preserving each character within its range, with 
carry: 


    print ++($foo = 'Az');      # prints 'Ba'
    print ++($foo = 'zz');      # prints 'aaa'
"

Can someone help me please?

Thanks
Anil
Auto-increment and Auto-decrement
``++'' and ``--'' work as in C. That is, if placed before a variable, they increment 
or decrement the variable before returning the value, and if placed after, increment 
or decrement the variable after returning the value. 

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]*$/, 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'
The auto-decrement operator is not magical. 




Reply via email to