当以下代码可能有副作用?
@some = map { s/xxx/y/; $_ } @some;
perlcritic解释它是危险的,因为例如:
@other = map { s/xxx/y/; $_ } @some;
并且@some的成员也被修改了.了解.我有BPB书,它通过示例显示了上面的内容
@pm_files_without_pl_files = grep { s/.pm\z/.pl/xms && !-e } @pm_files;
我还阅读了“列表处理副作用”一章/“绝不修改列表函数中的$_”.及其粉丝.我也知道/ r.
要明确(尽管我可怕的英语很可能):
问题是:
>第一个例子@some = map {s / xxx / y /; $_} @some;引起一些不必要的副作用?如果是,何时?
>或者只是“没有推荐”的方式(否则无害)?
正在寻找答案,因为一些“perl初学者的书” – 因此仍然不接受任何当前的答案.
原文地址:https://www.jb51.cc/Perl/171771.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。