[Cascavel-pm] [Spam] Duvida $dbh->prepare

Igor Sutton igor.sutton em gmail.com
Sexta Janeiro 26 07:05:11 PST 2007


Olá André,

> Por quê??
>
> Acho que "visualmente" falando é mais fácil ler
> map {}@list; do que
> my @list;
> foreach $item(@list)
> {
> #blablabla
> }

Além de melhorar a legibilidade, map cria e devolve para o caller um
array com os resultados da última expressão que você executou dentro
do block. Isso significa que você vai ocupar memória desnecessária.

É OK para três operações, poré sem você tiver uma lista com 1_000_000
de iterações, e você imprimir algo na tela, map criará e populará uma
lista com 1_000_000 elementos, com valor 1.

Veja o código a seguir:

<code>
use strict;
use warnings;

use Devel::Size qw(total_size);
use Smart::Comments;

my @array = map { 1 } ( 1 .. 1_000_000 );

### total_size: total_size( \@array )

</code>

A saída dele é:

### total_size: 20000052

Este valor em bytes.

HTH!

-- 
Igor Sutton Lopes <igor.sutton em gmail.com>


Mais detalhes sobre a lista de discussão Cascavel-pm