Without knowing your $module instance's methods or the size and nature of @objects, it's hard to say why your memory runs away. Where does $module come from?
map builds a list of its results, which is why it is inadvisable to use it in void context as you have. Undefining $results ought to be unnecessary in the first case, and may be damaging in the second. map's block should end with the expression you want to have in the list it produces.
The for loop is probably what you want to do here. It is usually slower to call map because you need to build a list of all the results.
What happens if you say this?,
my @results = map { $module->target($_); $module->process(); } @objects;
After Compline,
Zaxo
In reply to Re: Memory leak in map function?
by Zaxo
in thread Memory leak in map function?
by ezekiel
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |