Un article de Wikipédia, l'encyclopédie libre.
#!/usr/bin/perl
use KelBot;
use strict;
use Getopt::Long;
my $pw;
my $page;
my @find;
my $replacement;
my $summary;
GetOptions('find=s' => \@find, 'page=s' => \$page, 'replacement=s' => \$replacement, 'summary=s'=> \$summary );
if (!scalar(@find) || !defined($replacement) || !defined($summary) ) {
print "usage: ./kbsed.pl --page=page --find=your_regexp --replacement=replacement --summary=your_summary\n";
exit
};
if ($page) {
kbsed($page);
} else {
unless ($page) {
while ($page = <STDIN>) {
$page =~ s/\n//;
kbsed($page);
}
}
}
sub kbsed {
my $page = shift;
return unless ($page);
unless ($pw) {
$pw = KelBot->new('kbsed');
$pw->login();
}
$page = `php -q ./urlencode.php "$page"`;
my $content = $pw->get_text($page)."\n";
my $old_content = $content;
foreach my $f (@find) {
$content =~ s/$f/$1$replacement$3/g;
}
unless ($content eq $old_content) {
$pw->edit($page, $content, $summary);
}
}