I use those a lot, to the point where I'm thinking of putting 'use Data::Printer' in the blank template I use to start a new Perl script, since I always end up adding it during testing anyway. But in this case, there are two reasons I didn't:
- Those modules print several lines to show a single value. That's fine to display a single structure once at a certain point, but to do it repeatedly in a loop can give you a heap of output that would be difficult for a newbie to parse through.
- I have a feeling his real problem is with program flow. I think he's going to discover that where he thinks he's seeing the whole array printed, he's really seeing one element of the array printed each time through the loop, but with nothing else being printed between them, they look like one output. To see that, he doesn't need to see the structure of @results just once; he needs to see how his program is flowing and how that array is changing with each step.
So in this case, in my opinion, changing my print/join statements to 'print Dumper @results' could make it harder for him to see the problem.
Available for small or large Perl jobs; see my home node.