Предложенный вариант у меня не сработал, зато сработал вот этот:
use HTML::TokeParser;
$p = HTML::TokeParser->new("temp.htm");
while ($token = $p->get_tag("a")) {
$url = $token->[1]{href} || "-";
$text = $p->get_trimmed_text("/a");
print "$url\t$text\n";
} |