in reply to matching every occurrence of a regex
You know your data better than we do, but on the basis of what you've said it looks as though the regex could be simplified or even eliminated through the use of split like so:while (<DATA>) { if (/\w{1,12}\s+(\d{1,5})\s+[a-zA-Z]{4}/sm){ print $1, "\n"; } } __DATA__ BC001593 91 NPSL BC001593 262 NASS BC001593 293 NAST
Just food for thought. This split trick will only work if your value of interest is always the 2nd field on each line.while (<DATA>) { my $pos = (split ' ')[1]; print $pos,"\n"; } __DATA__ BC001593 91 NPSL BC001593 262 NASS BC001593 293 NAST
|
|---|