[SP-pm] Pegadinha do internals do Perl

Gabriel Vieira gabriel.vieira at gmail.com
Thu Mar 14 17:06:33 PDT 2013


2013/3/14 Solli Honorio <shonorio em gmail.com>:
> <code>
>
> $array = [];
> say scalar @$array; #retorna ZERO !

Abaixo você informa que o primeiro item do array é um hash. Então seu
array não está mais vazio, mas possui um elemento hash, que por sua
vez está vazio.

> $alguma_coisa = ($array->[0]->{data} || time);
> say scalar @$array; #retorna UM !
>
> if ( scalar @$array ) {
>    # destrói tudo !
> } else {
>    # destrói menos !
> }
>
> </code>

$alguma_coisa = @$array ? $array->[0]->{data} : time;

Sem o scalar já resolve.

--
Gabriel Vieira


More information about the SaoPaulo-pm mailing list