我一直在用
if(exists $ENV{VARIABLE_NAME} && defined $ENV{VARIABLE_NAME}) 在几个地方我的perl脚本.
我觉得它使代码混乱,因此将其值赋给变量.
$debug = $ENV{VARIABLE_NAME};
Run Code Online (Sandbox Code Playgroud)
但是,现在我无法检查exists标量值.有没有办法可以检查存在标量值?
rua*_*akh 15
没有exists标量的概念; 对于哈希,它会告诉您给定键是否出现在哈希中(例如,是否keys %ENV包含它),但这对于标量来说毫无意义.
但是在环境变量的特定情况下,您无论如何都不需要exists测试:环境变量总是字符串,因此它们永远undef不会被设置 - 除非它们没有被设置 - exists等同defined于它们.所以你可以写if(defined $ENV{'VARIABLE_NAME'})或if(defined $debug).
你是对的,exists对标量变量毫无意义.但你不能写if(defined $ENV{VARIABLE_NAME})吗?如果它不存在则$ENV{VARIABLE_NAME}返回undef.
| 归档时间: |
|
| 查看次数: |
19367 次 |
| 最近记录: |