validating
Make that:
for my $dimension ( \@row, \@col, \@block ) { for my $grouping ( @$dimension ) { my @defined = grep { defined } map { $$_ } @$grouping; my %seen; return if grep { $seen{$_}++ } @defined; } }
Now we can test partially solved puzzles too.