Perl抛出有关语法的错误消息

Ben*_*nee 0 arrays syntax perl

因此,建立一个关于字符串匹配的问题(这个线程),我正在努力将解决方案3中的信息实现到我正在处理的问题的工作解决方案中.

但是,我收到错误,特别是关于以下函数的这一行:

next if @$args->{search_in} !~ /@$cur[1]/;

syntax error at ./db_index.pl line 16, near "next "
Run Code Online (Sandbox Code Playgroud)

我作为一个perl新手的问题是我在这里做错了什么?

sub search_for_key
{
    my ($args) = @_;

    foreach $row(@{$args->{search_ary}}){
        print "@$row[0] : @$row[1]\n";
    }

    my $thiskey = NULL;
    foreach $cur (@{$args->{search_ary}}){
        print "\n" . @$cur[1] . "\n"
        next if @$args->{search_in} !~ /@$cur[1]/;
        $thiskey = @$cur[0];
        last;
    }
    return $thiskey;    
}
Run Code Online (Sandbox Code Playgroud)

cjm*_*cjm 6

你在前一行的末尾留下了分号.无论如何,这就是造成语法错误的原因.我认为你也在滥用$args,但如果不知道你是怎么称呼这个功能的话,很难确定.