LINUX.ORG.RU

[Perl][RegExp]Не происходит выделение переменной $1

 ,


1

0
Вот эта программа выделяет гиперссылки из документа и печатает значение атрибута href:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#!/usr/bin/perl -w
use strict;
use LWP::Simple qw(get);

my $page=get('http://wilci.narod.ru');
my @links=($page=~/<\s*?a\s*?href=(?:"|'|).*?(?:"|'|)\s*?.*?>/gi);
foreach my $linkget(@links){
$linkget=~/<\s*?a\s*?href=(?:"|'|)(.*?)(?:"|'|)\s*?.*?>/i;
print $1}
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Гиперссылки находятся все. Почему печатается значение атрибута только первой гиперссылки? Находить значение атрибута нужно только с помощью этого регулярного выражения. Как сделать чтобы выводились на печать значения атрибута всех гиперссылок? Заранее благодарен.

Ответ на: комментарий от iSage
Большое спасибо iSage. Но ваш пример не выделяет гиперссылки расположенные в одной строке.

Хотелось бы узнать причины по которым не работает мой исходник.

Wilci
() автор топика
#!/usr/bin/perl -w
use strict;
use LWP::Simple qw(get);

my $page=get('http://wilci.narod.ru');
my @links=($page=~/<\s*?a\s*?href=(?:"|'|).*?(?:"|'|)\s*?.*?>/gi);
foreach my $linkget(@links){
    $linkget=~/<\s*?a\s*?href=(?:"|'|)([^"' ]*)(?:"|'|)\s*?.*?>/i;
    print "$1\n";}
josephson ★★
()
Ответ на: комментарий от josephson
ОГРОМНЕЙШЕЕ СПАСИБО josephson!!!

Наконец-то моя проблема решена...

Wilci
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.