#!/usr/bin/perl -w use strict; use LWP::Simple; use HTML::Parser; my $url = shift or die "usage: ". __FILE__ ." url"; my $rawHTML = get($url); # attempt to d/l the page to mem my @parsed; die "LWP::Simple messed up $!" unless ($rawHTML); my %TPS =( api_version => 3, handlers => {default => [\@parsed, "event,text"]} ,); my $tp = HTML::Parser->new( %TPS ); $tp->parse($rawHTML); for my $token(@parsed) { my $ttype = shift @{ $token }; print "TYPE : $ttype\n####\n"; printf( join( '', map { "$_:%s\n####\n" } 0..@{$token} ) , @{$token} ); print "####################################################\n\n"; } __END__ TYPE : start_document #### 0: #### 1: #### #################################################### TYPE : declaration #### 0: #### 1: #### #################################################### TYPE : text #### 0: #### 1: #### #################################################### TYPE : comment #### 0: #### 1: #### ####################################################