这两个陈述是一样的吗?

ian*_*215 1 perl

这两个陈述是否意味着相同的事情?

if ($host eq '') {
    print "Host exists\n";
}
Run Code Online (Sandbox Code Playgroud)

if (defined $host) {
    print "Host exists\n";
}
Run Code Online (Sandbox Code Playgroud)

Gre*_*ill 7

不,他们是不同的.一个是与$host空字符串进行比较,另一个是检查是否$host完全定义(并且可以具有任何值).