gpt4 book ai didi

perl - 比较 perl 中的两个(可能) undef 变量

转载 作者:行者123 更新时间:2023-12-03 23:18:48 26 4
gpt4 key购买 nike

我试图比较两个通常是字符串的变量。这些变量是从数据库生成的,$var1来自一个数据库和 $var2从另一个。
当我在循环中比较它们时,我使用 ne运营商。然而,有时我这些变量是 nullundef .比较是这样进行的:

foreach my $var1 (@$varlist)
{
if ($var1 ne $var2)
{
print "vars are not equal";
}
}

问题是如果 $var1$var2undef然后我得到一个错误。但是,我需要能够将这些值作为 undef b/c 进行比较,我将不得不编写它们。我考虑将变量转换为字符串 'NULL' 然后返回,但这似乎效率低下。

有什么办法可以解决这个问题?
谢谢!

最佳答案

检查它们是否也被定义:

foreach my $var1 (@$varlist)
if ( ! defined $var1 || ! defined $var2 || $var1 ne $var2 )
print "vars are not equal";

如果两者都未定义,这会打印出它们不相等。如果您想要其他行为,只需更改 if表达。

关于perl - 比较 perl 中的两个(可能) undef 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com