[SP-pm] Pegadinha do internals do Perl

Stanislaw Pusep creaktive at gmail.com
Thu Mar 14 19:21:42 PDT 2013


FWIW: http://www.effectiveperlprogramming.com/blog/1247
No CPAN, também tem um pragma "no autovivification"

четверг, 14 марта 2013 г. пользователь Solli Honorio писал:

>
>
> Em 14 de março de 2013 21:06, Gabriel Vieira <gabriel.vieira em gmail.com<javascript:_e({}, 'cvml', 'gabriel.vieira em gmail.com');>
> > escreveu:
>
>> 2013/3/14 Solli Honorio <shonorio em gmail.com <javascript:_e({}, 'cvml',
>> '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 <javascript:_e({}, 'cvml',
>> 'SaoPaulo-pm em pm.org');>
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
>
> --
> "o animal satisfeito dorme". - Guimarães Rosa
>


-- 

ABS()
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130314/8e7c7492/attachment.html>


More information about the SaoPaulo-pm mailing list