在使用严格的subs时,不允许设置bareword环境变量

时间:2014-08-06 15:08:18

标签: perl environment-variables bareword

为了运行我的Perl脚本,我需要在OS上设置一个环境变量来指向我们的开发服务器:

export SERVER=DEV

但是,一旦将脚本分发给我们的用户,我不希望他们每次都需要导出这个环境变量。因此,我想我会在我的脚本开头附近设置环境变量。所以我补充说:

$ENV{SERVER}=DEV;

但是,我的脚本不允许这样做,因为严格的subs:

Bareword "DEV" not allowed while "strict subs" in use

我的部门主管确信我们必须在我们的脚本中使用strict,所以没有办法解决这个限制。有没有正确的方法来设置我忽略的裸字环境变量?

1 个答案:

答案 0 :(得分:6)

环境变量是字符串。

您可以在bash中创建字符串DEV。主要是,你有

  • DEV
  • "DEV"
  • 'DEV'

您可以在Perl中创建字符串DEV。主要是,你有

  • "DEV"qq{DEV}
  • 'DEV'q{DEV}

所以,

$ENV{SERVER} = "DEV";