Thanks Mark.

I mean how is the following possible.

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

Thanks
Anil

----- Original Message -----
From: "Mark Anderson" <[EMAIL PROTECTED]>
To: "Anil Shekhar" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Tuesday, October 08, 2002 9:56 AM
Subject: RE: autoincrement and autodecrement


> "Can someone help me please?"
>
> Can you be more specific about what you don't understand?
>
> If $foo is a string of alpha characters and you use ++ you get a string
with
> the last character incremented alphabetically.
>
> This does not work both ways, -- does not reverse the effect of ++ on
> strings.
>
> /\/\ark
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> -----Original Message-----
> From: Anil Shekhar [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, October 08, 2002 9:48 AM
> To: [EMAIL PROTECTED]
> Subject: autoincrement and autodecrement
>
>
> 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.
>
>
>
>
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to