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]