s//123
456
789
z147,258,369,159,357/;$p=O;{/$p{3}/?die$p:/\d/?$p^=O^X:die Tie;/z/;pri
+nt$`.$p;1until<>=~/\d/&&s/$&/$p/g;redo}
update
(shortcircuiting the self reply chain)
Currently at 119:
s//123
456
789
z147,258,369,159,357/;$p=O;{/z/;print$`,$p^=O^X;/(.)\1\1/?die$1:/\d/||
+die Tie;$?=<>until s/$?/$p/g;redo}
And 118:
s//123
456
789
z147,258,369,159,357/;{/z/;print$`,$p=$p^h?X:O;/(.)\1\1/?die$1:/\d/||d
+ie Tie;$?=<>until s/$?/$p/g;redo}
Followed by 113:
s//123
456
789
z147,258,369,159,3570/;$?=/(.)\1\1/?die$1:/\d/?<>:die(Tie)while!s/$?/$
+p/g||print$`x/z/,$p=$p^h?X:O
Sneakily add a space in the output to get 111:
s//123
456
7890147,258,369,159,357/;$?=/(.)\1\1/?die$1:/\d/?<>:die(Tie)while!s/$?
+/$:/g||print$`x/-/,$:=$:^h?X:O
|