perl – 如何防止List :: MoreUtils警告关于使用$a和$b只有一次
发布时间:2020-12-15 21:20:20 所属栏目:大数据 来源:网络整理
导读:List::MoreUtils 模块表示当提供与成对函数一起使用的BLOCK时,您可以使用变量$ a和$ b。例如: use strict;use warnings;use List::MoreUtils qw'pairwise';my @x = ( 1 .. 5);my @y = (11 .. 15);my @sums = pairwise { $a + $b } @x,@y; 但是当我这样做时
List::MoreUtils 模块表示当提供与成对函数一起使用的BLOCK时,您可以使用变量$ a和$ b。例如:
use strict; use warnings; use List::MoreUtils qw'pairwise'; my @x = ( 1 .. 5); my @y = (11 .. 15); my @sums = pairwise { $a + $b } @x,@y; 但是当我这样做时,我会得到如下警告: Name "main::b" used only once: possible typo at try.pl line 7. Name "main::a" used only once: possible typo at try.pl line 7. 有没有一个优雅的方式来处理这个问题? 更新: 参见answer by Ether for perl v5.19.6及以上:问题解决了。 解决方法
取决于你认为优雅。
no warnings qw(once); our ($a,$b); 这两个之一就足够了。甚至可以很容易地限制其范围。 my @sums = pairwise { no warnings qw(once); $a + $b } @x,@y; my @sums = pairwise { our $a + our $b } @x,@y; 明确指定包将会抑制警告。如果你主要, my @sums = pairwise { $::a + $::b } @x,@y; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |