use IO::File; use Data::Dumper; use HTML::Parser; my $count = 0; my $fh = new IO::File("/home/graq/spreadsheet.xls"); my @state; my $p = HTML::Parser->new ( xml_mode => 1, start_h => [sub { my ($tagname, $attr) = @_; push @state, $tagname; ## We are beginning state "@state" print '::'."@state".'::'."\n"; }, "tagname, attr"], text_h => [sub { my ($text) = @_; ## We see content within state "@state" }, "dtext"], end_h => [sub { my ($tagname) = @_; ## We are ending state "@state" pop @state; }, "tagname"], ); $p->parse_file($fh); $p->eof;