在 perl mason 中为 ARGS 添加值

Adding values to ARGS in perl mason

我想在将值作为重定向调用中的参数传递之前向我的 ARGS 添加值。

我试过了

%ARGS{session-id} = 'value1';

给出语法错误。你能马上提出建议吗?名称中带连字符的键是不允许的吗?如果不是,我如何将它传递给我的重定向调用,因为我要重定向到的组件期望来自 %ARGS.

的 'session-id'

使用

$ARGS{'session-id'} = 'value1';

session-id 不是 Perl 中的有效标识符;散列键 如果它们是有效标识符,则可以不加引号使用。

此外,在访问散列的单个元素时,使用 $ 作为印记(变量名前面的取消引用字符); @ 访问哈希的多个元素时;并且 % 仅在访问整个散列时(或在 Perl 5.20 及更高版本中,当访问部分散列的键和值时)。