【问题标题】:Adding values to ARGS in perl mason在 perl mason 中向 ARGS 添加值
【发布时间】:2015-11-25 18:03:56
【问题描述】:

我想在我的 ARGS 中添加值,然后在重定向调用中将其作为参数传递。

我试过了

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

给出语法错误。能否请您立即提出建议。名称中带有连字符的键是否不允许?如果不是,我如何将它传递给我的重定向调用,因为我要重定向到的组件期望来自 %ARGS 的“会话 ID”。

【问题讨论】:

  • 感谢您的回复。这是语法错误。
  • 你以后提问的时候可能应该提供更多的上下文;您提供的代码 sn-p 是一个 Perl 赋值语句,如果您展示了如何尝试将其放入 Mason 模板中,它可能有助于澄清。此外,可能有一种更简单的方法来做你正在做的事情,但我需要查看上下文 --- 以及一旦作业运行后你将如何使用 %ARGS --- 以便能够建议。

标签: perl redirect args mason


【解决方案1】:

使用

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

session-id 在 Perl 中不是一个有效的标识符;如果哈希键是有效的标识符,则只能不加引号地使用。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 2014-07-22
    相关资源
    最近更新 更多