undef值
undef是未定义的意思,在Perl中,会假设undef的变量时0
或者空字符串
- 如果当成数字,就是
0
- 如果当成字符串,就是
空字符串
当成数字
1 $n = 1;
2
3 while($n < 10){
4 $sum += $n;
5 $n += 2;
6 }
7
8 print "The total was: $sum\n";
变量$sum
先前并未定义,然而在程序运行中,将变量$sum
认为是0
当成字符串
1 $str .= "hello";
2
3 print "The string is : $str\n";
同样的,在运行时,程序会将未定义的$str
当成一个空字符串
defined函数
要判断一个字符串是 undef
而不是空字符,可以用defined函数
用法为:defined(变量名)
,如果这个变量时undef
会返回假
,对其他参数都会返回真
整行输入操作符<STDIN>
有时候会返回undef
,像遇到“文件结尾”符号
一般而言,来自键盘的输入不会有“文件结尾”符号
像遇到“文件结尾”符号
一般而言,来自键盘的输入不会有“文件结尾”符号