Χρήστης:AtouBot/checkmatch.pl χωρίς ξεν δείχνει τις λάθος γραμμές
Μετάβαση στην πλοήγηση
Πήδηση στην αναζήτηση
#!/usr/bin/perl # αυτό το αρχείο πρέπει να μετονομαστεί σε checkmatch.pl πριν τρέξετε το parsexml.pl binmode(STDOUT, ":utf8"); binmode(STDIN, ":utf8"); use encoding(UTF8); @cm_partsofspeech = ('ακρ', 'αντων', 'αρθρ', 'αριθ', 'αρκτ', 'εκφ', 'επιθ-εκφρ', 'επιθ', 'επι', 'επιρ', 'επιφ', 'καταλ-α-επιθ', 'καταλ-αθ-ουσ', 'καταλ-α-ουσ', 'καταλ-επιρ', 'καταλ-θ-ουσ', 'καταλ-ο-ουσ', 'καταλ-ρημ', 'μορφ-αντων', 'μορφ-αρθρ', 'μορφ-επιθ', 'μορφ-κυρ', 'μορφ-μτχ', 'μορφ-ουσ', 'μορφ-ρημ', 'κυρ', 'μτχ', 'μορ', 'ουσ', 'πολυ-ουσ', 'προθ', 'προ', 'ρημ', 'συνδ', 'συντ', 'σμμ', 'χαρ', 'συμβ'); # κρατάμε σελίδες που περιέχουν τουλάχιστον μία φορά # {{-μέρος-λόγου-}} # '''{{PAGENAME}}''' sub checkmatch { $title=$page{'title'}; foreach $lcode (keys %$contents) { $toss=0; foreach $pc (@cm_partsofspeech) { if (defined $contents->{$lcode}->{'parts'}->{$pc}->{'text'}) { if ($contents->{$lcode}->{'parts'}->{$pc}->{'text'} !~ /^( *)(\n)*(\{\{[a-z]+-κλίσ[^\}]*\}\}( *)\n)?\{\{ξεν-?\|[a-z\-]+\|\{\{PAGENAME/) { $text = $contents->{$lcode}->{'parts'}->{$pc}->{'text'}; $text =~ s/^(( *)\n)*//; ($t1,$t2) = split(/\n/,$text , 3); print "$title:$lcode:$pc:$t1....$t2\n"; } } } } return(0); }