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,像遇到“文件结尾”符号
一般而言,来自键盘的输入不会有“文件结尾”符号
像遇到“文件结尾”符号
一般而言,来自键盘的输入不会有“文件结尾”符号
本文介绍了Perl语言中undef值的概念及其应用。当变量未被定义时,默认被视为0(作为数字时)或空字符串(作为字符串时)。此外,文章还讲解了如何使用defined函数来判断变量是否为undef。
1009

被折叠的 条评论
为什么被折叠?



