7

I try the code like this:

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

The getRows is a sub function name, and the code works in template. The $rows is a Array.

I write code like this:

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

The $rows is a REF, It's wrong.

If write code like this:

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

The $rows is a HASH, It's wrong.

Is there any way to write the two line code in one?

cjm
  • 61,471
  • 9
  • 126
  • 175
Tony
  • 321
  • 1
  • 2
  • 6

1 Answers1

15

Yes. You can write

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

The square brackets [] serve to create the desired reference.

thb
  • 13,796
  • 3
  • 40
  • 68