Neat idea. A few FYIs:
Requests to perlmonks can be made faster by asking
for very small nodes. It's not necessary to use node
109 for login or homenode for /msg (or
lastnode_id at all). If a node isn't supplied The Monastery Gates
comes back (ouch). The smallest nodes at perlmonks are some empty
XML nodes but I usually use the tiny XML xp nodelet at
node_id=16046 since it'll probably be there
in the future.
If you have a saved cookie file login can be skipped, but
either needs to use ignore_discard on the cookies:
$co=new HTTP::Cookies(file=>'./cookie',autosave=>1,ignore_discard=>1);
or set an expires param in the login query:
$url->query_form(
op => "login",
node_id => "16046",
expires=> "+10y"
user => $pm_user,
passwd => $pm_password
);
Also, the size limit on /msg is 255 bytes, so $message
needs to be counted and truncated before the print to
reflect overflow.