On Fri, Nov 21, 2003 at 03:43:39PM -0600, Riley wrote:
> -p0 $_=reverse,s/\.(?=(.{$&}x)+.{$&}o)/*/swhile$^C+=9870=~/./g
> 
> I looked up the $^C predefined variable and found:
> The current value of the flag associated with the -c
> switch.

$^C has the nice property that it only stores 8 bit integers (i.e. it
only stores the values -128..127). If a value that's too large is
assigned to the variable it (like all variables) wraps around back to
the minimum. Since the value of an assignment expression (like +=) is
the value of the assigned thing, the loop ends whenever the value of
$^C becomes 0, i.e. after $^C has been incremented 255 times[*].

Does that answer your question?

[*] Actually, it's been incremented a bit more often than that, but
    some of the incrementations have been by 0, not 1.

-- 
Juho Snellman

Reply via email to