Eu resolvi o problema, era so eu retornar um array de resultados da recurção [caso tenha] e incluir juntar com o array da interação anterior sempre que terminar uma das recurções.
Quanto a dúvida da string, seria forçar uma string vazia (uma string que não está guardando nenhuma referência) virar um array; my @a = qw(a b c d e); my $b = \@a; #isso é uma string com o endereço de memoria do array (referÊncia) my $b; @$b = qw(a b c d e); #isso é um array forçado mas a dúvida é, o que fica em $b? Pelo que me parece ele cria automaticamente uma referência pra um array anonimo que dereferenciado por @$b O que me leva a crer que my @a = qw(a b c d e); my $b = \@a; é o mesmo que my $b ; @$b = qw(a b c d e);j ________________________________ From: Rio-pm <rio-pm-bounces+guedes_1000=hotmail....@pm.org> on behalf of Andre Carneiro <andregarciacarne...@gmail.com> Sent: Friday, March 24, 2017 4:54:22 PM To: Perl Mongers Rio de Janeiro Subject: Re: [Rio-pm] (sem assunto) Creio que você esteja pensando nisso errado! Se vc tem uma String em $S, você não tem uma referência para array @A. Se você quer uma referência do array @A em $S, você pode fazer: my $S = \@A; Eu sugiro que você use Data::Printer ou mesmo Data::Dumper para ver o conteúdo das variáveis. Quanto ao problema da string, não sei se entendi o que vc quer. Vou dizer como transformar uma string em array sem usar 'join'. <code> use strict; use warnings; use feature qw/say/; use Data::Printer colored => 1; my $s = "WHATEVER"; my @A = split //,$s; print p @A; </code> 2017-03-22 19:14 GMT-03:00 Aureliano Guedes <guedes_1...@hotmail.com<mailto:guedes_1...@hotmail.com>>: Olá monges, Estou com uma série de dúvidas relacionada a uma rotina que estou fazendo; Dado um hash de arrays eu preciso construir uma hierarquia não redundante dos valores desse array. Tudo esta explicado melhor em : http://pastebin.com/64fJvYr6 Duas dúvidas surgiram meio essa questão 1- Como forçar uma string virar um array sem fazer join dos valores, sendo que a string não está guardando uma referência? Algo como: my $s; @$s = qw(a b c d e); 2- Se eu tenho uma string $S que guarda uma referencia para um array @A, essa string está dentro de uma rotina e a rotina é recursiva, e precisa enviar os valores da string S para a recursão, o que deve ser enviado é a string $S ou o array @$S? sub teste{ my ($S) = @_; teste(\@$S) # ou simplesmente $S? } Desde já grato. Att, acp _______________________________________________ Rio-pm mailing list Rio-pm@pm.org<mailto:Rio-pm@pm.org> http://mail.pm.org/mailman/listinfo/rio-pm -- André Garcia Carneiro Software Engineer (11)982907780
_______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm