#!perl -w use strict; use HTML::Parser; # list of html attributes which contain UR[IL]s my @ATTR = qw( src href background ); my $parser = HTML::Parser->new( start_h => [ \&parser_tag, 'self, attr' ] ); $parser->parse_file( *DATA ); print join($/, @{ $parser->{_links} }), $/; sub parser_tag { my ($self, $attr) = @_; while ( my ($attr_n, $attr_v) = each %$attr ) { next unless grep $_ eq $attr_n, @ATTR; push @{ $self->{_links} }, $attr_v; } } __DATA__ Sample Page