2012-08-05 14 views
6

cerco il codice come questo:Come posso trasformare il valore di ritorno di un sub Perl in un arrayref?

my @rows = getRows($sth); 
$self->stash(rows => \@rows); 

Le GetRows è un nome di funzione secondaria, e il codice funziona in modello. Le $ righe sono una matrice.

scrivo codice come questo:

$self->stash(rows => \getRows($sth)); 

I $ righe è un REF, è sbagliato.

Se scrivere il codice in questo modo:

$self->stash(rows => getRows($sth)); 

I $ righe è un hash, è sbagliato.

C'è un modo per scrivere il codice di due linee in uno?

risposta

14

Sì. È possibile scrivere

$self->stash(rows => [getRows($sth)]); 

Le parentesi quadre [] servono per creare il riferimento desiderato.

Problemi correlati