perl warning

banye11dian 2009-03-25 10:15:16
在进行字符串或者数字的比较的时候,总会有一条提示
Use of uninitialized value in numeric eq (==) at string.pl line 48
Use of uninitialized value in string eq at string.pl line 97.
代码很简单,类似于
my $fill=1;
if($fill == 1)
{
print "Got it";
}
大家有什么办法可以将那条提示给消除掉,还是我的代码有什么问题?
...全文
98 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyler123 2009-04-09
  • 打赏
  • 举报
回复
可能是你的变量的类型是不能确定的。
比如,如果用HTML::TableEx....(记不清了),获取表格失败的话,用于接收返回值的变量的值,就是undef的,undef既不是数字也不是字符串,所以,perl会抱怨说你用来比较的东西没有确切定义。
这里的警告就是说:未初始化的值
可以忽略(个人经验)
hu20090330 2009-04-08
  • 打赏
  • 举报
回复
这样是有问题的,不能有结果的,¥fill 没有初始化

 
$fill=1;
if( $fill == 1)
{
print "Got it";
}

kindTerry 2009-03-25
  • 打赏
  • 举报
回复
具体问题要具体分析,你不贴代码没法帮你。
warning的意思是说你在作比较的时候变量没有初始化,建议在定义变量的是时候赋零或空串
banye11dian 2009-03-25
  • 打赏
  • 举报
回复
程序是可以运行的,只是在运行的时候会有那么一条提示,遇到过吗?
kindTerry 2009-03-25
  • 打赏
  • 举报
回复
你给出的例子不会报错,建议你贴出string.pl的代码
iambic 2009-03-25
  • 打赏
  • 举报
回复
你贴的代码不对劲。贴完整代码,然后标上哪一行是48行,哪一行是97行。
fibbery 2009-03-25
  • 打赏
  • 举报
回复
if(defined $fill && $fill == 1) 
{
print "Got it";
}
fibbery 2009-03-25
  • 打赏
  • 举报
回复

if(defined $fill && $fill == 1)
{
print "Got it";
}

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧