in reply to Tic Tac Chop

I started with your code and began removing stuff. Then I made it fit with use strict and -w and added a few obfuscation tricks of my own. This weighs in at 182 chars, 185 if you count the 3 newlines.
$"='ox'x5,$_="1 2 3\n4 5 6\n7 8 9 ";{$^=chop$";print" $_$^ =>";{<>=~/^(\d)$/i&&s/$1/$^/m or redo}(m/^($^.){ 3}|($^.{5}){2}$^|$^.{7}$^.{7}$^|^.(...$^){3}/smx|$.>8 )or redo}y/0-9/-/;print
Tested with ActiveState 5.6

And yes, I like the chop.

Update: I noticed a small bug, this fix cost me 3 chars. sigh. That puts me at 185 chars (188 with the newlines)

$"='ox'x5,$_="1 2 3\n4 5 6\n7 8 9 ";{$^=chop$";print" $_$^ =>";{<>=~/^(\d)$/i&&s/$1/$^/m or$.--&&redo}/^($^ .){3}|($^.{5}){2}$^|$^.{7}$^.{7}$^|^.(...$^){3}/smx|8 <$. or redo}y/0-9/-/;print

Replies are listed 'Best First'.
RE: (2) Tic Tac Chop (tests, CGI?)
by ybiC (Prior) on Aug 18, 2000 at 06:05 UTC
    Passes with flying colors with Perl 5.00404 on Debian Slink, and 5.006 on OpenBSD 2.7.

    Would any fine Monks care to enlighten humble ybiC on how Adam's code works?   Special measures to adapt it to CGI use?

    Correction: the code is turnstep's, as tweaked by Adam.

    Update: sincere thanks to turnstep and Adam for explaining their obfuscations to pre-obfuscatory ybiC.
        cheers,
        ybiC

    #!/usr/bin/perl -w use strict; $"='ox'x5, $_="1 2 3\n4 5 6\n7 8 9 " {$^=chop$" print"$_$^ =>" {<>=~/^(\d)$/i&&s/$1/$^/m or redo} (m/^($^.){3}|($^.{5}){2}$^|$^.{7}$^.{7}$^|^.(...$^){3}/smx|$.>8) or redo}y/0-9/-/; print
RE: RE: Tic Tac Chop
by Anonymous Monk on Aug 22, 2000 at 05:24 UTC
    how about adding 'play against the computer' without hardcoding responses? -philip