... or is it something else?
Its a bug/limitation/oversight of HTML::TagParser ... its why HTML::TreeBuilder is more popular , sure it doesn't have the DOMish names, but its got HTML::TreeBuilder::XPath and htmltreexpather.pl :)
HTML::TagParser is depended on by 7 distributions
HTML::TreeBuilder is depended on by 180 distributions
Also, you posted too much stuff, narrow it down (aka clean your room )
#!/usr/bin/perl --
use strict;
use warnings;
use HTML::TagParser;
my $html = HTML::TagParser->new(q{
<div id="bug">
<span class="type"> yo </span>
<span class="type"> ho </span>
<span class="type"> ho </span>
</div>
});
my $bug = $html->getElementById("bug");
my @sss = $bug->getElementsByClassName("type");
__END__
Can't locate object method "getElementsByClassName" via package "HTML:
+:TagParser::Element" at - line 13.