my $p = HTML::TokeParser::Simple->new(\$html);
my (%href, $this_href, $number, $letter);
while (my $t = $p->get_token){
if ($t->is_start_tag('h2')){
$letter = $p->get_trimmed_text('/h2');
next;
}
if ($t->is_start_tag('a')){
# skip bookmarks
next if $t->get_attr('name');
$this_href = $t->get_attr('href');
next;
}
if ($t->is_start_tag('span')){
$number = $p->get_trimmed_text('/span');
$href{$letter}{$this_href} = $number;
next;
}
}