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

前端之家收集整理的这篇文章主要介绍了哪些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返回相同的值.

猜你在找的Perl相关文章