getall.pl

#!/usr/bin/perl

# Encodage : UTF8
# S'utilise avec le XML BRUT !!!
# 

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year += 1900 ;
$mon += 1 ;

@ttlang = ( "af", "als", "an", "am", "ar", "as", "ast", "ay", "az", "bg", "bm", "bn", "bo", "br", "ca", "chr", "cs", "cy", "da", "de", "dog", "el", "en", "eo", "es", "et", "fa", "fi", "ff", "fr" , "ga", "gal", "gcf", "gl", "grc", "gu", "he", "hbo", "hi", "hu", "hy", "ia", "id", "ine", "io", "ja", "it", "ka", "ko", "kn", "ku", "la", "li", "ln", "lo", "lv", "mal", "mn", "ml", "nl", "oc", "or", "pa", "pau", "pl", "prv", "pt", "ro", "ru", "sv", "sa", "scn", "sl", "sq", "sr", "ta", "te", "th", "tr", "tt", "ty", "uk", "ur", "vi", "yi", "zh", "zu" ) ;

$today = "$year-$mon-$mday" ;

open( RESFILE,">$today.txt");

foreach ( @ttlang ) {
  $lang_cur = $_ ;
  `wget http://download.wikimedia.org/wiktionary/$lang_cur/all_titles_in_ns0.gz` ;
  `gunzip all_titles_in_ns0.gz`;
  open( XMLFILE, "< all_titles_in_ns0" ) ;

  $ligne = <XMLFILE> ; # la premier ligne ne compte pas
  while ( $ligne = <XMLFILE> ) {
    $ligne =~ s/_/ /g;
    print RESFILE "$lang_cur:$ligne" ;
  }
  `rm all_titles_in_ns0.gz` ;
  `rm all_titles_in_ns0` ;
}