加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 21:23:00 所属栏目:大数据 来源:网络整理
导读:这些是我所知道的: 使用语句修饰符条件或循环构造(例如“my $x if …”)修改的“my”语句的行为. 在同一个语句中修改变量两次,如$i = $i; sort()在标量上下文中 truncate(),当LENGTH大于文件的长度时 使用32位整数,“1”32“未定义.负数位移位也是未定义的.
这些是我所知道的:

>使用语句修饰符条件或循环构造(例如“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返回相同的值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读