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.vie...@gmail.com<javascript:_e({}, 'cvml', 
> 'gabriel.vie...@gmail.com');>
> > escreveu:
>
>> 2013/3/14 Solli Honorio <shono...@gmail.com <javascript:_e({}, 'cvml',
>> 'shono...@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@pm.org <javascript:_e({}, 'cvml',
>> 'SaoPaulo-pm@pm.org');>
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
>
> --
> "o animal satisfeito dorme". - Guimarães Rosa
>


-- 

ABS()
=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a