in reply to Memory leak in map function?
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Memory leak in map function?
by Abigail-II (Bishop) on Aug 20, 2003 at 08:53 UTC |