Utilisateur:KelBot/kbll

Un article de Wikipédia, l'encyclopédie libre.

#!/usr/bin/perl
 
use KelBot;
use strict;
use Getopt::Long;
 
my $pw;
 
my $page;
 
GetOptions('page=s' => \$page);
 
if ($page) {
    kbget($page);
} else {
    unless ($page) {
        while ($page = <STDIN>) {
            $page =~ s/\n//;
            kbget($page);
        }
    }
}
 
sub kbget {
    my $page = shift;
    return unless ($page);
 
    unless ($pw) {
        $pw = KelBot->new('kbget');
    }
 
    $page = `php -q ./urlencode.php "$page"`;
 
    my $text = $pw->get_text($page)."\n"; 
 
    my %hash;
    while ( $text =~ /\[\[([^\]]*)\]\]/g )  {
        my($link, $desc) = split(/\|/, $1);
        my($namespace, $name) = split(/:/, $link);
        if (length($namespace)>5) {
            $hash{ucfirst($link)} = 1;
        }
    }
 
    foreach (keys(%hash)) {
        print $_."\n";
    }
}