my @board; while () { chomp; push @board, [split / /]; } for my $i (0 .. 2) { my ($t1, $t2, $t3, $t4) = (0,0,0,0); for my $j ( 0 .. 2 ) { $t1 += $board[$i][$j]; $t2 += $board[$j][$i]; $t3 += $board[$j][$j]; $t4 += $board[2 - $j][$j]; } if (abs($t1) == 3 || abs($t2) == 3 || abs($t3) == 3 || abs($t4) == 3) { print "Win.\n"; last; } } __DATA__ 1 0 1 -1 1 -1 1 0 1