use strict; use Web::Scraper; use Data::Dumper; my $data = do { local $/; }; # Weirdo syntax of Web::Scraper my $link = scraper { process 'a', href => '@href', text => 'TEXT'; result 'href', 'text'; }; my $scraper = scraper { process 'span.inst a', 'links[]' => $link; result 'links[]'; }; print Dumper $scraper->scrape($data); __DATA__ ... aaa bbb (should not match either due to wrong span class) a bare link (should not match)