# be careful with this ... a fork is executed for every link found use LWP::Simple; use HTML::LinkExtractor; my $link = HTML::LinkExtractor->new; $link->parse(\*DATA); my @href = map $_->{href}, grep { $_->{tag} eq 'a' } @{$link->links}; for (@href) { next if fork; my $valid = head($_) ? 'good' : 'bad'; warn "$_ is $valid\n"; exit; } __DATA__