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

Yon*_*k64 2 perl environment-variables bareword

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

export SERVER=DEV

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

$ENV{SERVER}=DEV;

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

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

我的部门主管一定得到了保证我们必须在我们的脚本中使用strict,所以没有办法克服这个限制.有没有正确的方法来设置我忽略的裸字环境变量?

ike*_*ami 6

环境变量是字符串.

你有很多选择DEV在bash中创建字符串.主要是,你有

  • DEV
  • "DEV"
  • 'DEV'

您有很多选项可以DEV在Perl中创建字符串.主要是,你有

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

所以,

$ENV{SERVER} = "DEV";
Run Code Online (Sandbox Code Playgroud)