$_来自这个Perl foreach循环?

前端之家收集整理的这篇文章主要介绍了$_来自这个Perl foreach循环?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Mail::IMAPClient发现了这个.$SEARCH_KEYS {uc($_)}中的$_来自哪里?
sub _quote_search {
    my ( $self,@args ) = @_;
    my @ret;
    foreach my $v (@args) {
        if ( ref($v) eq "SCALAR" ) {
            push( @ret,$$v );
        }
        elsif ( exists $SEARCH_KEYS{ uc($_) } ) {
            push( @ret,$v );
        }
        elsif ( @args == 1 ) {
            push( @ret,$v );    # <3.17 compat: caller responsible for quoting
        }
        else {
            push( @ret,$self->Quote($v) );
        }
    }
    return @ret;
}

解决方法

这对我来说就像一个拼写错误,作者将一个匿名的for循环foreach(@args)转换为一个带有显式迭代器变量的一个foreach我的$v(@args)并忘记将$_的所有发生率转换为$v.

您可能应该针对CPAN上的分发提交错误.

猜你在找的Perl相关文章