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

$_来自这个Perl foreach循环?

发布时间:2020-12-15 21:49:34 所属栏目:大数据 来源:网络整理
导读:我在 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($_) } ) {
我在 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上的分发提交错误.

(编辑:李大同)

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

    推荐文章
      热点阅读