in reply to Re^3: match diagonal text
in thread match diagonal text

~ 500x50

Replies are listed 'Best First'.
Re^5: match diagonal text
by BrowserUk (Patriarch) on Sep 22, 2011 at 13:21 UTC

    #! 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.

      Thanks BrowserUk, this is what i expect. :)