/Wikipedia.pm /Wikipedia/Page.pm /tweakbot.pl
#!/usr/bin/perl -w
use strict;

use constant USERNAME		=> 'Tweakbot';
use constant PASSWORD		=> ''; # password deleted

use constant COOKIES		=> 'tweakbot.txt';

use constant EDIT_SUMMARY	=> 'Tweakbot reporting for duty! (replaced depreciated template)';
use constant EDIT_MINOR		=> 1;

use Wikipedia;

my $wiki = Wikipedia->new(
	'username'	=> USERNAME,
	'password'	=> PASSWORD,
	'cookie_file'	=> COOKIES,
);

foreach my $pagename (@ARGV) {
	my $page = $wiki->get_page($pagename);
	my $old_contents = $page->contents;
	(my $new_contents = $old_contents) =~ s/\{\{ref-section\}\}/==References==\n{{Reflist}}/gi;
	unless ($new_contents eq $old_contents) {
		print STDERR "updating `$pagename'\n";
		print "$new_contents\n";
		$page->put_contents($new_contents, EDIT_SUMMARY, EDIT_MINOR);
	} else {
		print STDERR "nothing to do for `$pagename'\n";
	}
}