Wikipedia:Archiwum/Skrypt sortujący interwiki links

Z Wikipedii, wolnej encyklopedii

Skrypt do dalszych ulepszeń i ewent. zrobienia bota ?

Największy problem tego skryptu to że nie działa jeśli interwiki links nie są w jednej linii.


#!/usr/bin/perl -w

# This script is in the public domain
# Ten program jest public domain
# Krzysztof P. Jasiutowicz 21-05-2003
#

use diagnostics;

my ($k,$v);

%zzz =
(
"af" =>  0, #w afrikans
"ar" =>  2, #arabska
"ca" =>  16, #katalońska
"cs" =>  4, #czeska
"da" =>  6, #duńska
"de" =>  20, #niemiecka
"en" =>  1, #angielska
"simple" =>  27, #uproszczona angielska
"eo" =>  7, #esperanto
"es" =>  12, #hiszpańska
"et" =>  8, #estońska
"eu" =>  3, #baskijska
"fr" =>  10, #francuska
"fy" =>  11, #fryzyjska
"it" =>  28, #włoska
"ja" =>  15, #japońska
"ko" =>  17, #koreańska
"la" =>  18, #po łacińsku
"ms" =>  19, #malajska
"nl" =>  13, #holenderska
"ia" =>  14, #interlingua
"no" =>  21, #norweska
"pt" =>  22, #portugalska
"ru" =>  23, #rosyjska
"sl" =>  25, #słoweńska
"sh" =>  24, #serbochorwacka
"fi" =>  9, #finska
"sv" =>  26, #szwedzka
"zh" =>  5); #chińska


%aaa = ();

while(<>)
{
if(/^\[\[..:/)
{
s/\]\] /]]/g;
@a = split(/\]\]/);
if(length(@a))
{
pop(@a);
}
map(s/\[\[//g,@a);
for $y (@a)
{
@tmp = split(/:/, $y );
if( exists($zzz{$tmp[0]}))
{
$aaa{$y} = $zzz{$tmp[0]};
}
}

@sorted = sort { $aaa{$a} <=> $aaa{$b} } keys %aaa;
for $u1 (@sorted)
{
print "[[",$u1,"]]";
}
print "\n";
next;
}
print;
}
# vim:tw=78:ts=4: