What did you do, golf mine? :)
I was unaware at that property of ^, very nice... in fact, I'm not ever sure why that works. Time for me to hit perlman:perlop.
Update:
Ok, its like this: ^ is XOR. That means the bit returns true if and only if one of the 2 bits is true:
In short - an incredibly concise way of doing it. ++!lc $new # lowercase the replacement ^ $1 # XOR with $1 - will increase the values by # the corresponding ascii value of each character # of $1 ^ lc $1 # XOR with lc $1 - basically, it will subract the # ascii values of lowercase $1 - if the values were # lowercase to begin with, the resulting sum is 0, # otherwise, the increase is enough to uppercase # the corresponding character
In reply to Re: Re: Case-preserving substitutions
by jryan
in thread Case-preserving substitutions
by wasii
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |