То, что сказал Rfvgyhn, но во вкусе Perl, поскольку это был один из тегов: используйте HTML :: TreeBuilder
Кроме того, по причинам, объясняющим, почему RegEx почти никогда не является хорошей идеей для анализа XML / HTML (иногда это достаточно хорошо с серьезными предостережениями), прочитайте обязательную и позорную статью StackOverflow:
RegEx соответствует открытым тегам, кроме автономных тегов XHTML
Имейте в виду, если весь объем вашей задачи буквально "разбирает ссылки HREF", И у вас нет тегов "" И ссылки (например, HREF="something"
подстроки) гарантированно не будут использоваться в любом другом контексте (например, в комментариях, или в виде текста, или если «HREF =» является частью самой ссылки), он может просто попасть в категорию «Достаточно хорошо» выше для использования регулярных выражений:
my @lines = <>; # Replace with proper method of reading in your file
my @hrefs = map { $_ =~ /href="([^"]+)"/gi; } @lines;