There is no analytical answer to be had, one may use more memory, or both may use the same memory, and it may depend on perl version, the only way to know is to test, or read the source code -- see Mini-Tutorial: Perl's Memory Management
Comment on Re: using function output ananymous array vs. named array in foreach