2012-08-05 12 views
6

Puedo probar el código como el siguiente:¿Cómo convierto el valor de retorno de un subperio Perl en una matriz?

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

Los GetRows es un nombre de función de sub, y el código funciona en plantilla. Las filas $ es una matriz.

que escribir código como este:

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

Las filas $ es un REF, está mal.

Si el código de escritura como esto:

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

Las filas $ es un HASH, está mal.

¿Hay alguna manera de escribir los dos códigos de línea en uno?

Respuesta

14

Sí. Puede escribir

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

Los corchetes [] sirven para crear la referencia deseada.

Cuestiones relacionadas