Perl:检查是否设置了环境变量

标签 perl exists

这个问题在这里已经有了答案:





How do I check if a Perl scalar variable has been initialized?

(5 个回答)


8年前关闭。




我一直在使用
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/

相关文章:

mysql - 查找其他表中不存在的记录

perl - 在 Perl 中打开和读取文件的最佳方法是什么?

bash - 如何在特定的行和列打开文件?

MySQL : How to find non duplicate rows with left join?

java - 从 JNI 代码检查 Java 类中是否存在可选字段或方法

list - 如何检查TCL中是否存在列表元素?

vba - 检查 VBA 中是否存在趋势线

java - 我的 Java 中的内联 Perl... Inline::Java::PerlInterpreter 不工作?

perl - 如何区分 Perl 中的 0 和空格?

perl - 你如何对 Data::Dumper 的输出进行排序?