This question already has answers here:
How do I check if a Perl scalar variable has been initialized?
(5 个回答)
7年前关闭。
我一直在使用
我觉得它使代码困惑,因此将其值分配给一个变量。
但是,现在我无法在标量值上检查
(5 个回答)
7年前关闭。
我一直在使用
if(exists $ENV{VARIABLE_NAME} && defined $ENV{VARIABLE_NAME})
在我的 perl 脚本的几个地方。我觉得它使代码困惑,因此将其值分配给一个变量。
$debug = $ENV{VARIABLE_NAME};
但是,现在我无法在标量值上检查
exists
。有没有办法可以检查标量值是否存在? 最佳答案
标量没有 exists
的概念;对于散列,它会告诉您给定的键是否出现在散列中(例如,keys %ENV
是否会包含它),但这对于标量来说毫无意义。
但是在环境变量的特定情况下,无论如何您都不需要 exists
测试:环境变量始终是字符串,因此除非尚未设置它们,否则它们永远不会是 undef
— 使 exists
等同于它们的 defined
。所以你可以只写 if(defined $ENV{'VARIABLE_NAME'})
或 if(defined $debug)
。
关于Perl:检查是否设置了环境变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18006108/
10-13 04:59