Χρήστης:ArielGlenn/bl-xml-check-l2-el-ετυμ.pl

Από Βικιλεξικό
Μετάβαση στην πλοήγηση Πήδηση στην αναζήτηση
#!/usr/bin/perl

binmode(STDOUT, ":utf8");
binmode(STDIN, ":utf8");

use encoding(UTF8);

use utf8;

# για κάθε σελίδα που δεν περιέχει {{=nn=}}
# που έχει ελληνικό τίτλο και που αρχίζει με {{-ετυμ-}}...
# γράφουμε τον τίτλο

while (<STDIN>) {
    $γραμμή=$_;
    if ($γραμμή =~ /<page>/) {
	$τομέας="";
	$τίτλος="";
	$επικεφαλίδα_γλώσσας="";
	$ανακατεύθυνση="";
	$αρχίζει_με_ετυμ="";
	$γλώσσα="";
    }
    elsif ($γραμμή =~ /<title>/) {
           if ($γραμμή =~ /<title>([^:]+):(.+)<\/title>/) {
	       $τομέας=$1;
	       $τίτλος=$2;
	   }
	   elsif ($γραμμή =~ /<title>(.*)<\/title>/) {
	       $τομέας="κύριος";
	       $τίτλος=$1;
	       if ($τίτλος =~ /([αβγδεζηθικλμνξοπρσςτυφχψωάέήίόύώϋϊΰΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΆΈΉΊΌΎΏ\- ]+)/) {
		   $γλώσσα="ελληνική";
	       }
	   }
    }
    elsif ($γραμμή =~ /\{\{=([a-z\-]+)=\}\}/) {
	$επικεφαλίδα_γλώσσας="set";
    }
    elsif ($γραμμή =~ /<text xml:space.*\{\{-ετυμ-\}\}/) {
	$αρχίζει_με_ετυμ="set";
    }
    elsif ($γραμμή =~/#REDIRECT/i) {
	$ανακατεύθυνση="set";
    }
    elsif ($γραμμή =~ /<\/page>/) {
	if (($επικεφαλίδα_γλώσσας !~ /set/) && ($τομέας =~ /κύριος/) && ($ανακατεύθυνση !~ /set/) && ($αρχίζει_με_ετυμ =~ /set/) && ($γλώσσα =~ /ελληνική/)) {
	    print "$τίτλος\n";
	}
    }
}