如何在Perl中的会话中存储数组

时间:2018-02-22 12:34:52

标签: perl mojolicious strawberry-perl

我在我的应用程序中使用Mojolicious Perl框架。我想在会话中存储一个数组,但不成功。

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

请帮忙。

1 个答案:

答案 0 :(得分:1)

请参阅hashes in Modern Perlperldata

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

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

或只是

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

您没有像其他语言那样获得自动引用。使用\ operator

$self->session(returnResult => \%return_result);