perl程序出错,求高手解答。

foreach循环里面出错,提示信息是使用未初始化变量。程序主要目的是求两个表的并集,最后打印出两个中某些信息。... foreach循环里面出错,提示信息是使用未初始化变量。
程序主要目的是求两个表的并集,最后打印出两个中某些信息。
展开
 我来答
百度网友c9e795dda
2013-03-19 · TA获得超过5167个赞
知道大有可为答主
回答量:1128
采纳率:0%
帮助的人:1152万
展开全部
简单来说, 这是因为你加了 -w 和 use warnings. 你不用这个就会天下太平了.
不过, 话分两头, 以你现在用的数据结构, 很容易会出现一种叫 auto vivification 的情况 ( 中文不知道叫甚麼, 但是你不会想要的 ), 例如 :

%c = ();
print 1 if $c{X} ;
print "Keys are: <" , keys (%c), ">$/";
print "正常$/";

print 1 if ( $c{X}{Y} ) ;
print "Keys are: <" , keys (%c), ">$/";
print "X 从那里来??!$/";

当你想查询有没有 Y 这个键时, X 就会自动产生了. 因为 perl 相信你认为需要有 X 这个键.

-w 和 warnings 就是怕你会有这样的情况, 所以,
你得为每个想用到的变数都得先设定个初始值, 那怕是 undef

不过, 我这里就不帮你 debug 了. 因为 :

1) 你只贴图, 又不贴代码... 我是不会帮你打一遍的
2) 你出现问题的是 line 58, 但你又不贴第 58 行出甚麼事. 爱莫能助了
匿名用户
2013-03-19
展开全部
你应该把数据结构描述一下,弄上几行原始数据也贴上来,看看。
并且建议以后贴代码的时候,把行号也截图……
追问
已经补加代码,求回答。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我是板蓝根
2013-03-19 · TA获得超过1723个赞
知道小有建树答主
回答量:2011
采纳率:33%
帮助的人:916万
展开全部
贴代码!!楼主
追问
已经补加代码,求回答。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式