@tchrist Отредактировал решение, чтобы оно соответствовало переменной $ str, использованной в вопросе

я есть длинный htdoc схожего паттерна, который выглядит так:

<td class="MODULE_PRODUCTS_CELL " align="center" valign="top" height="100">
<table width="100" summary="products"><tr>
<td align="center" height="75">
<a href="/collections.php?prod_id=50">
<img src="files/products_categories50_t.txt" border="0" alt="products" /></a><\br>
</td>
</tr>
<tr>
<td align="center">
<a href="/collections.php?prod_id=50"><strong>Buffer</strong><br />
</a>
<td>
</tr></table>
</td>

В приведенном выше HTML я хочу извлечь:

collections.php?prod_id=50files/products_categories50_t.txtBuffer

Я попробовал этот код для начала,

#!/usr/local/bin/perl

use strict;
use warnings;
my $filename =  'sr.txt';

open(FILENAME,$filename);
my @str = <FILENAME>;
chomp(@str);
#print "@str";

foreach my  $str(@str){    
     if ($str =~/<td class(.*)<a href(.*?)><\/td>/) {
         print "*****$2\n";
     }    
}

Этот код является пробным. Однако это приносит только последний случай, а не каждый случай. Зачем?

Ответы на вопрос(4)

Ваш ответ на вопрос