关于defined函数返回值的疑问

关于defined函数返回值的疑问

Two defined strings are false: the empty string ("") and a string of length one containing the digit zero
("0"). This second one may surprise you, but Perl does this because of its on-demand conversion
between strings and numbers. The numbers 0., 0.00, and 0.0000000 are all false when unquoted but
are not false in strings (the string "0.00" is true, not false). All other defined values (e.g., "false", 15,
and \$x ) are true.

我做了一个实验,
#!/bin/perl
$a="";
$b="0";

defined($a) || print "parameter a is not defined";
defined($b) || print "parameter b is not defined";

结果确实什么都没有打印出来。

请问这个是怎么回事? 谢谢。
"Two defined strings are false" - Defined, 但是是false
我明白了  他是说如果进行逻辑判断,那么他们都是false   是我理解错了,呵呵   谢谢