IMHO, simpler is better - stick with the iterative approach as it will be much easier for you and anyone else who looks at the code to understand and maintain it 6 months or a year from now when it needs to be changed.
What you don't want to do is create some obfuscated code that takes someone a day to understand an another day to fix. Make it as simple as possible for *any* Perl person to understand.
HTH.