use YAPE::HTML;
use Data::Dumper;
use strict;
use warnings;
my $content = q[
];
my $parser = YAPE::HTML->new($content);
my( @a, @link, @img );
# here is the tokenizing part
while ( my $chunk = $parser->next ) {
if( $chunk->type eq 'tag' ){
if( $chunk->tag eq 'a' ){
push @a,
$chunk->get_attr('href')
if $chunk->has_attr('href');
}
elsif( $chunk->tag eq 'link' ){
push @link,
$chunk->get_attr('href')
if $chunk->has_attr('href');
}
elsif($chunk->tag eq 'img'){
push @img,
$chunk->get_attr('src')
if $chunk->has_attr('src');
}
}
}
print Dumper \@img,\@link,\@a;
__END__
$VAR1 = [
'img.link1',
'img.link2',
'img.link3',
'img.link4'
];
$VAR2 = [
'css.link1'
];
$VAR3 = [
'normal.link1',
'normal.link2',
'normal.link3',
'normal.link4',
'normal.link5'
];