#! perl.exe $|++; use strict; use WWW::Mechanize; my $wikilogin = "http://example.com/wiki/index.php?title=Special:Userlogin"; my $wikiuploader = "http://example.com/wiki/index.php?title=Special:Upload"; my $user = 'username'; my $pass = 'password'; my $description = 'Media uploaded via automation'; # # begin real work here # my $agent = WWW::Mechanize->new(); $agent->get ($wikilogin); my $form = $agent->form_name('userlogin'); $agent->field ('wpName',$user); $agent->field ('wpPassword',$pass); $agent->field ('wpRemember',1); $agent->click (); open (ERRFH, ">errored.txt"); while (<*.png>){ $agent->get($wikiuploader); my $form = $agent->forms(1); if ($form) { #we've found the form, fill it out # fill out the body $agent->field('wpUploadFile', $_); $agent->field('wpUploadDescription', $description); $agent->field('wpUploadAffirm',1);# and submit $agent->click('wpUpload'); print "saved $_\n"; } else { #something's gone wrong #simple log for now #TODO: fill out w/ better logic. print ERRFH "$_\n"; } }