Cara olhando agora esse código, mesmo meio alterado de guineense, você tá ponto sempre um elemento com valor de time caso não exista array. zero.data. Então o código tá certo, mesmo sem os parênteses Em 14/03/2013 20:52, "Solli Honorio" <shono...@gmail.com> escreveu:
> Pessoal, > > Hoje passei uma parte do dia tentando descobrir porquê a minha lógica não > estava funcionando, e no final descobri que era uma pegadinha do internals > do Perl. > > O lance era o seguinte : > > <code> > > $array = []; > say scalar @$array; #retorna ZERO ! > $alguma_coisa = ($array->[0]->{data} || time); > say scalar @$array; #retorna UM ! > > if ( scalar @$array ) { > # destrói tudo ! > } else { > # destrói menos ! > } > > </code> > > > Este era o meu poblema, eu achei que se não existisse o elemento no > array, eu poderia continua a minha vidinha, afinal mesmo fazendo um > Data::Printer::p o array sempre volta empty. Mas o contador de elementos > dele altera, ferrando toda a minha lógica depois. > > É isto aí ! > > Abraços, > > Solli Honorio > > -- > "o animal satisfeito dorme". - Guimarães Rosa > > =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 > >
=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