-2

I am using Mojolicious Perl framework in my application. I want to store an array in session, but is not successful.

my @returnResult;
$returnResult['fn'] = $decoded->{'fn'};
$returnResult['ln'] = $decoded->{'ln'};
$self->session(returnResult => @returnResult);

Please help.

Akhilesh
  • 1,243
  • 4
  • 16
  • 49

1 Answers1

1

See hashes in Modern Perl and perldata.

my %return_result;
$returnResult{fn} = $decoded->{fn};
$returnResult{ln} = $decoded->{ln};

or

my %return_result = (
    fn => $decoded->{fn},
    ln => $decoded->{ln},
);

or simply

# http://perldoc.perl.org/perl5200delta.html#New-slice-syntax
my %return_result = %$decoded{qw(fn ln)};

You do not get automatic references like in other languages. Use the \ operator.

$self->session(returnResult => \%return_result);
daxim
  • 39,270
  • 4
  • 65
  • 132