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