use strict; use warnings; use diagnostics; use HTML::TokeParser; use LWP::Simple; print &parse_diaryland('username', 'password'); sub parse_diaryland { my($username, $password); my($diary_url); my($parsee_man); my($html, $tag); my($body); $username = shift(); $password = shift(); $diary_url = "http://$username:$password\@$username.diaryland.com"; # urls are in the form http://username:password@username.diaryland.com $html = get($diary_url); print $html; $parsee_man = HTML::TokeParser->new(\$html); foreach $tag ($parsee_man->get_tag('TD')) { if ($tag->[1]{'align'} eq 'left' && $tag->[1]{'vAlign'} eq 'top') # fails here { my($secondtag); $secondtag = $parsee_man->get_tag(); if ($secondtag->[0] eq 'FONT') { $body = get_text('/FONT'); last(); # got the text body so quit loop } } } return($body); } #### I This is the text body we wanna grab. foo, bar and angst.