请教

请教

请问
(defined $xxx) 和 ($xxx==1)有嘛区别

defined $xxx:返回一个布尔值,表明$xxx是否是一个已经定义的数值。
$xxx==1:返回一个布尔值,通常判断$xxx的值是否是1。


QUOTE:
原帖由 mouse.rice 于 2008-2-27 15:51 发表
defined $xxx:返回一个布尔值,表明$xxx是否是一个已经定义的数值。
$xxx==1:返回一个布尔值,通常判断$xxx的值是否是1。

那么if(defined $xxx)和if$xxx==1)区别呢。
判断结果不是相同的吗


QUOTE:
原帖由 emperor9 于 2008-2-27 16:04 发表

那么if(defined $xxx)和if$xxx==1)区别呢。
判断结果不是相同的吗

may cause difference,



#!usr/bin/perl

use strict;
my  $xxx = 5;

if (defined $xxx) {
  print '$xxx is defined';
}
else {
  print '$xxx is undefined';
}

print \n;

if ($xxx == 1) {
  print '$xxx is defined';
}
else {
  print '$xxx is undefined';
}


QUOTE:
原帖由 emperor9 于 2008-2-27 16:04 发表

那么if(defined $xxx)和if$xxx==1)区别呢。
判断结果不是相同的吗

仔细看
这个怎么可能相同呢?