HTML::Parser->new(api_version => 3,
handlers => [start => [\&tag, "self,tagname,attr"],
end => [\&tag_end, "self,tagname,attr"],
text => [\&text, "'$WEIGHT',dtext"]
],
marked_sections => 1,
)->parse($DATA) || die "Huh $!\n";
then my three subs:
sub tag
{
my $self = shift;
my $tagname = shift;
my $attr = shift;
my $stuff;
if($tagname eq "meta")
{
if($attr{'name'} eq ("keywords" || "description")) { $stuff = $attr{'content'}; &text($WEIGHT, $stuff); }
}
elsif($tagname eq "title")
{
$WEIGHT = "2";
}
}
sub tag_end
{
my $self = shift;
my $tagname = shift;
my $attr = shift;
if($tagname eq "title")
{
$WEIGHT = "1";
}
}