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
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.