Сопоставление нескольких значений 'id' с использованием RegEx в сочетании с HTML::TreeBuilder

У меня есть список URL-адресов в массиве:

http://www.site.sx/doc1.html
http://www.site.sx/doc2.html
http://www.site.sx/doc3.html
.
.
.

Давайте посмотрим содержимое первой страницы, а именно doc1.html:

<?xmlversion = "1.0" encoding = "utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <title>Birds</title>
   </head>

   <body>
      <p>Some bird's feather's aren't actually blue, they're clear.</p>
      <!--LOOK HERE--><p id = "abc123FACT1xyz789">There exists an insect that makes 100-decibel sounds.</p> 
   </body>
</html>

Теперь давайте посмотрим содержимое второй страницы, а именно doc2.html:

<?xmlversion = "1.0" encoding = "utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <title>Cats</title>
   </head>

   <body>
      <p>Moota goes from house to house.</p>
      <!--LOOK HERE--><p id = "abc123FACT2xyz789">Falling from a higher altitude might be better than a lower one.</p> 
   </body>
</html>

doc3.html будет иметь то же самое abc123.....xyz789тип шаблона для его ìd значение, как и остальные страницы в моем массиве. Я хочу захватить текстовое содержание каждого из них. Здесь только один id значение в каждом документе с этим конкретным шаблоном. Конечно, есть несколько id ценности во всем документе в реальности, но - для простоты - мы можем игнорировать это.


БОЛЬШАЯ КАРТИНА: Я хочу поставить каждый матч так:

$tree->look_down( _tag => 'p' , id => "abc123.*xyz789")->as_text; # NOT SURE HOW TO MAKE AN ARRAY OF MATCHES...

1 ответ

my $match = $tree->look_down( _tag => 'p' , id => qr{abc123.*xyz789} )->as_text;

Это получит то, что я после.

Другие вопросы по тегам