use strict;
use warnings;
use HTML::TokeParser::Simple;
use Data::Dumper;
my $parser = HTML::TokeParser::Simple->new('foo.html');
my $level = 0;
my @div;
while ( my $token = $parser->get_token ) {
if ($token->is_start_tag('div')) {
push @{$div[$level]}, $token->return_attr->{id};
$level++;
} elsif ($token->is_end_tag('div')) {
$level--;
}
}
# print all div's found
for my $row (@div) {
print "level ", ++$level, " div's:\n";
print "\t$_\n" for @{$row};
}
# print first outer level div found
print "the first div found had id '", $div[0][0], "'\n";