大佬教程收集整理的这篇文章主要介绍了Perl的“存在”可以修改数据结构值吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的这个数据结构的目标是根据是否存在某些哈希表产生不同的值.例如,
sub mysub { my $val = shift; my $file = shift; my $funct = shift; if (exists $myhash{$val}{$filE}{$funct}) { return "return1"; } if (exists $myhash{$val}{$filE}) { return "return2"; } return "return3"; }
我遇到的行为如下.我有一个时间的例子
我的$val =“val1”;
我的$file =“C / D.c”;
我的$funct =“funct3”;
在这个时候,返回值我得到“return2”.这些是我对Perl调试器的观察:
>首先在mysub中打破“if”
>打印p $proxToBugs {“val1”} {“C / D.c”} ==>返回空行.好的.继续,这个“if”被跳过.
>继续并在第二个“if”在mysub中断
>打印p $proxToBugs {“val1”} {“C / D.c”} ==>返回“HASH(0x …)”. WTF时刻.函数返回“return2”.
这告诉我,运行第一个如果修改了数据结构,这允许第二个如果通过,其实不应该.我正在运行的函数与上面显示的函数相同;这个只是消毒了.有人对我有解释吗?
以上是大佬教程为你收集整理的Perl的“存在”可以修改数据结构值吗?全部内容,希望文章能够帮你解决Perl的“存在”可以修改数据结构值吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。