I was stumped at first glance too, but the main problem that I encountered was
$mech->credentials('username', 'password');
Using 'perlmonks.net', I rearranged it to fit the Wsse:
$mech->credentials('perlmonks.net', '', 'username' 'password');
That worked for me, and here's the script as I ran it:
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
use Data::Dumper::Concise;
my $url = 'http://www.perlmonks.net/?node_id=109';
my $mech = WWW::Mechanize->new;
$mech->credentials('perlmonks.net', '', 'username', 'password');
$mech->default_header('Accept-Encoding' => scalar HTTP::Message::decod
+able());
$mech->add_handler("request_send", sub { shift->dump; return });
$mech->add_handler("response_done", sub { shift->dump; return });
print Dumper($mech->get($url));