[SP-pm] Pegadinha do internals do Perl

Solli Honorio shonorio at gmail.com
Thu Mar 14 16:51:24 PDT 2013


Pessoal,

Hoje passei uma parte do dia tentando descobrir porquê a minha lógica não
estava funcionando, e no final descobri que era uma pegadinha do internals
do Perl.

O lance era o seguinte :

<code>

$array = [];
say scalar @$array; #retorna ZERO !
$alguma_coisa = ($array->[0]->{data} || time);
say scalar @$array; #retorna UM !

if ( scalar @$array ) {
   # destrói tudo !
} else {
   # destrói menos !
}

</code>


Este era o meu poblema, eu achei que se não existisse o elemento no array,
eu poderia continua a minha vidinha, afinal mesmo fazendo um
Data::Printer::p o array sempre volta empty. Mas o contador de elementos
dele altera, ferrando toda a minha lógica depois.

É isto aí !

Abraços,

Solli Honorio

-- 
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130314/1fb796d8/attachment.html>


More information about the SaoPaulo-pm mailing list