in reply to Match a list of numbers from a list of files
use strict; use warnings; my %numbers = ( '2345678923' => 1, '2121212121' => 1, '4424352424' => 1, '2323232323' => 1 ); while (<DATA>) { chomp; if (/<BEGIN Transaction/ .. /<END Transaction>/) { if (/(?:^|\D)(\d+)(?:\D|$)/ && exists $numbers{$_}) { print "<BEGIN Transaction>$_<END Transaction>\n"; } } } __DATA__ <BEGIN Transaction> 2345678923 </END Transaction> <BEGIN Transaction> 1 </END Transaction> junk <BEGIN Transaction> 12345678923 </END Transaction> <BEGIN Transaction> 2121212121 </END Transaction>
|
|---|