Não use expressões regulares para analisar HTML , especialmente porque com o Perl é mais fácil fazer isso direito. Por exemplo:
#!/usr/bin/env perl
use strict;
use warnings;
use HTML::LinkExtor;
my ( @web, $fn, $p );
sub cb {
my ( undef, %links ) = @_;
push @web, values %links;
}
$p = HTML::LinkExtor->new( \&cb );
while ( $fn = shift ) {
$p->parse_file($fn);
$p->eof;
}
print "$_\n" for (@web);