#!/usr/bin/perl use warnings; use strict; use Data::Dumper; use HTML::TreeBuilder::XPath; my $tree = HTML::TreeBuilder::XPath->new; $tree->parse_file('txt.html'); my @nodes = $tree->findnodes('//*[@class="message reply"]'); for (@nodes){ my $person = $_->findvalue('span[@class="profile fn"]'); my $time = $_->findvalue('abbr[@class="time published"]/@title'); my $msg = $_->findvalue('abbr[@class="time published"]/div[@class="msgbody"]'); print "$person :: $time :: $msg\n"; }