#! perl -slw
use strict;
sub checkDiags {
my $text = shift;
my $x1 = 1 + index $text, "\n" or die 'Bad input';
my $x2 = $x1-2;
my $reMajor = qr[ ([12]) (?: .{$x1}\1 ){3} ]sx;
my $reMinor = qr[ ([12]) (?: .{$x2}\1 ){3} ]sx;
return $text =~ $reMajor || $text =~ $reMinor;
}
my $test = do{ local $/; <> };
print "$test\n", checkDiags( $test ) ? 'Matched' : 'Failed';
__END__
c:\test>junk40
0100000000
0010000000
0001000000
0000100000
0000000000
^Z
0100000000
0010000000
0001000000
0000100000
0000000000
Matched
c:\test>junk40
0000000
0000020
0000200
0002000
0020000
0000000
^Z
0000000
0000020
0000200
0002000
0020000
0000000
Matched
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|