$Z='ox'x5;$_="1 2 3\n4 5 6\n7 8 9 ";{$C=chop$Z;print "\n$_=>$C";{<>=~/^([\d])$/ && s/$1/$C/m or redo;}( m/(^($C.){3})|(($C.{5}){2}$C)|($C.{7}$C.{7}$C)|(^.(...$C){3})/sm or ++$T>8) or redo;}s/\d/-/g;print