[Rio-pm] Imprimindo array no mojolicious

breno breno em rio.pm.org
Segunda Abril 25 14:35:22 PDT 2011


2011/4/25 Manoel Domingues Junior <manoel.domingues.junior em gmail.com>
>
> Olá galera!
> Comecei a desenvolver para a web com perl e estou usando mojolicious.
> Já fiz todas as funções, tudo bonitinho. Só que apareceu um problema...
> Uma função retorna um @array já formatado em HTML, pronto para ser colocado no template.
> Como é na página principal, ficou:
> get '/' => sub {
>     my $self = shift;
>     $self->stash(one => Package->function());
> } => 'index';
> e no template coloquei na parte em que ele deveria aparecer:
> <%= $@one %>

Oi Manoel,

o problema é que se Package->function retorna um array, vc precisa
atribuir ele a uma única posição no hash, o que se faz passando
referência ao dito array:

$self->stash( one => [ Package->function() ] );

ou, se vc tiver controle da "function()", pode fazer com que ela
retorne a referência diretamente:

package Package;
sub function {
   my @array = ...;
   return \@array;
}

finalmente, na hora de exibir, basta acessar a referência normalmente, ou assim:

<%=  $one->[0]  %>

ou assim:

<%= @$one[0]  %>


Qualquer dúvida grita =)

[]s

garu


Mais detalhes sobre a lista de discussão Rio-pm