Robin Sheat wrote: > On Thursday 12 October 2006 23:52, John W. Krahn wrote: >> >> my $users = get_all_users(); >> for ( my $i = 0; $i < @$users; ++$i ) { >> my $details = get_user_details( $users->[ $i ] ); >> my $sum = 0; >> my $count = 0; >> for ( my $j = 1; $j < @$details; $j += 2 ) { >> $sum += $details->[ $j ]; >> $count++; >> } >> $means{ $user } = $sum / $count; >> } >> >> Although in my tests that takes about the same time to execute but uses a >> *lot* less memory as it doesn't have to make a copy of the @$users array >> like your version does. > > I don't follow. Where was my version copying @$users?
I screwed up the test I tried :( so I might be wrong, although in older versions of Perl using: foreach my $user (@$users) { would create a copy of @$users to a list in memory, but it appears to be OK with the version of Perl I am currently using. :-) John -- Perl isn't a toolbox, but a small machine shop where you can special-order certain sorts of tools at low cost and in short order. -- Larry Wall -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>