Utilisateur:KelBot/kbgrep

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

#!/usr/bin/perl
 
use KelBot;
use strict;
use Getopt::Long;
 
my $pw;
 
my $page;
my $revert;
my @regexps;
 
GetOptions('revert' => \$revert, 'page=s' => \$page, 'regexp=s' => \@regexps);
 
if (!scalar(@regexps)) {
    print "usage: ./kbgrep.pl --revert --regexp=your_regexp --page=your_page\n";
    exit
};
 
if ($page) {
    kbgrep($page);
} else {
    unless ($page) {
        while ($page = <STDIN>) {
            $page =~ s/\n//;
            kbgrep($page);
        }
    }
}
 
sub kbgrep {
    my $page = shift;
    return unless ($page);
 
 
    unless ($pw) {
        $pw = KelBot->new('kbgrep');
        $pw->login();
    }
 
    my $old_page = $page;
    $page = `php -q ./urlencode.php "$page"`;
 
    my $content =  $pw->get_text($page); 
 
    foreach my $regexp (@regexps) {
        if ($revert) {
            unless ($content =~ /$regexp/) {
                print $old_page."\n";
                last;
            } 
        }  else {
            if ($content =~ /$regexp/) {
                print $old_page."\n";
                last;
            } 
        }
    }
}