我一直在使用Perl:检查环境变量是否设置
if(exists $ENV{VARIABLE_NAME} && defined $ENV{VARIABLE_NAME})
在几个地方我的Perl脚本。
我觉得它混乱了代码,因此将它的值赋给了一个变量。
$debug = $ENV{VARIABLE_NAME};
但是,现在我无法在标量值上检查exists
。有没有一种方法可以检查标量值?
我一直在使用Perl:检查环境变量是否设置
if(exists $ENV{VARIABLE_NAME} && defined $ENV{VARIABLE_NAME})
在几个地方我的Perl脚本。
我觉得它混乱了代码,因此将它的值赋给了一个变量。
$debug = $ENV{VARIABLE_NAME};
但是,现在我无法在标量值上检查exists
。有没有一种方法可以检查标量值?
你说的对,exists
对标量变量没有意义。但是,你不能只写if(defined $ENV{VARIABLE_NAME})
?如果不存在,则$ENV{VARIABLE_NAME}
将返回undef
。
@squiguy - 我可能错过了这个问题。我很抱歉提出类似的问题。在这种情况下,我可以删除我的问题吗?我已经得到了一些有用的回应。 – iDev
如果有什么我认为它可以帮助!我编辑说*可能*,因为有时很难分辨。但无论如何,如果你解决了你的问题,那么一切都很好。干杯。 – squiguy
如果不打算测试是否存在,应该指定一个默认值:'my $ debug = $ ENV {DEBUG} || 0;' – shawnhcorey