[SP-pm] Pegadinha do internals do Perl

Solli Honorio shonorio at gmail.com
Thu Mar 14 17:54:03 PDT 2013


Em 14 de março de 2013 21:06, Gabriel Vieira <gabriel.vieira em gmail.com>escreveu:

> 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.
>

Ok, depois que eu descobri isto ficou óbvio, mas olhando o código isto não
parece tão claro.


>
> > $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.
>
>
eu gosto de utilizar o 'scalar' ... vício !



> --
> Gabriel Vieira
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 
"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/ec5972d6/attachment.html>


More information about the SaoPaulo-pm mailing list