$ _来自这个Perl foreach循环?

sid*_*com 8 perl

我在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;
}
Run Code Online (Sandbox Code Playgroud)

Eth*_*her 8

这在我看来就像一个错字这里笔者转换匿名for循环foreach (@args)到一个有明确的迭代变量foreach my $v (@args),忘了所有的发生率转换$_$v.

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

  • 我写了一份报告. (2认同)