微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

哪些perl代码示例可能导致未定义的行为?

这些是我所知道的:

>使用语句修饰符条件或循环构造(例如“my $x if …”)修改的“my”语句的行为.
>在同一个语句中修改变量两次,如$i = $i;
> sort()在标量上下文中
> truncate(),当LENGTH大于文件的长度时
>使用32位整数,“1”<32“未定义.负数位移位也是未定义的.
>非标量赋值给“状态”变量,例如state @a =(1..3).

解决方法

这些只是修改正在迭代的结构的主题的变体:

地图,grep和sort,代码引用修改要排序的项目列表.

排序的另一个问题是代码引用不是幂等的(在comp sci意义上) – sort_func($a,$b)必须总是为任何给定的$a和$b返回相同的值.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐