|Think about Loose Coupling|
Re: Regex shows only last match multiple times?by zeltus (Beadle)
|on Feb 13, 2014 at 10:17 UTC||Need Help??|
You can make your code rather more simpler and hence, easier to read:
Initialise $count to zeromy $count = 0;
...or, even more simplymy $count;
Then you don't need that perverse$count = $count - 1;
statement. And even if you did want it, what's wrong with$code--;
(always bearing in mind the old TIMTOWTDI acronym of course!)
The next simplification, if the file really does consist of just one line, is to slurp it in, in one hit
Finally, and this is where I think your question might get answered, you can capture regex hits to an array and then simply count the array...
With no loops making it look more complicated than it is, you can then start to pin down what is going on here. Perhaps use some test data/test regex to give a simpler starting block. I would also be suspicious of perl being greedy in that there regex. But first, create some test data and make sure you can "prove" your code before hitting the real data.