Assuming the file is XML, what about something like:
use XML::Rules; my %seen; my $parser = XML::Rules->new( rules => [ '_default' => '', 'meta-parameter' => sub { return unless $_[1]->{type} eq "stored-procedure"; $seen{$_[1]->{id}}++; return; } ] ); $parser->parse(\*DATA); print "There were those stored procedures:\n"; foreach (sort keys %seen) { print " $_ ($seen{$_} times)\n"; } __DATA__ <some> <meta-parameter type="stored-procedure" id="rep_vfnz_gsm_bss_tch_ +network_report_spr"/>\ <meta-parameter id="rep_vnz_gprs_quality_report_daily_spr" typ +e="stored-procedure"/>\ <meta-parameter type="stored-procedure" id="rep_vfnz_gsm_nss_b +enchmarking_report_spr"/>\ </some>
This is much safer than trying to parse the file with regexps.
In reply to Re: regex to match the following
by Jenda
in thread regex to match the following
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |