Na verdade não estou adicionando valor, o compilador está criando o elemento para confirmar que ele não tem valor.
Eu estava debugando e quando eu digitava 'x $array' data empty array ref. Mas depois num teste aparte utilizando o Data::Printer é mostrado uma nova estrutura com valor nullo. Ou seja, eu tinha na minha cabeça que ele iria dar problema logo de cara, pois o elemento 0 não existe, não vou dar erro e continuar o processamento (que queria isto), mas o comportamento na verdade foi do compilador criar a estrutura (alocar) para dizer que não existe nada. Mas nunca é atribuído o valor de time ao elemento. Solli Honorio Em 14 de março de 2013 20:55, Renato Santos <renato.c...@gmail.com>escreveu: > 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 > > -- "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