Hello, All!

I believe I understand ton's alternative solution...

-p0 s/\.(?=.{$&}(x.{$&})+o)/*/sgwhile$_=reverse,998877e3=~/./g

(At first I was confused as to why 998877e3 was needed
as opposed to 998877e2, but I suppose since ton is
reversing the string in the while condition, rather
than in the while block, he needed one more character
in order to flip the string one final time. Is there
any other purpose for having e3?)

...But I'm having trouble understanding the winning
solution:

-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.

I don't really understand what this means, but I
feel that even if I did, I wouldn't be able to figure
out how incrementing this variable (or apparently
decrementing it, cf. mtve's solution) makes the while
loop run more than 4 times. (I have a feeling,
however, that the loop is running many more than
9 times as in ton's alternate solution above, and
on first glance, I would have declared that we had
created an infinite loop.)

Many thanks,
Riley o0lit3


Reply via email to