use strict; use warnings; use WWW::Mechanize; use XML::Simple; my $user = '*****'; my $passwd = '*******'; my %wiki_ids = ( 'Cabal' => 322009, 'PMDev' => 106868, 'PMDevToDo' => 222493, 'Port' => 110265, 'Editors' => 74283 , 'SDC' => 174180, 'SDC Plan' => 240586, 'SCD ToDo' => 237008, 'QAEditors' => 133122 ); my $max_wiki_size = 50_000; my $agent = WWW::Mechanize->new(); $agent->env_proxy(); print "\n--- Wikis ---\n"; # Check each wiki's size. my $login = "op=login;user=$user;passwd=$passwd;expires=+10y;"; foreach my $wiki ( sort keys %wiki_ids ) { $agent->get( 'http://www.perlmonks.org/index.pl?' . $login . "node_id=$wiki_ids{$wiki};" . 'displaytype=xml' . ';xmlstyle=clean' ); $login = ''; printf "%-10s (id=%7d): Size= ", $wiki, $wiki_ids{$wiki}; if ( $agent->success() ) { my $hr_xml = XMLin( $agent->content() ); my $size = length $hr_xml->{data}{field}{content}; print $size, ( $size >= $max_wiki_size ) ? ". Rotate.\n" : ".\n"; } else { print "Unable to fetch.\n" } sleep 2; }