Вопрос

Помогите, я не могу передать свой хэш -ключ к подпрограмме Twig.

здесь:

foreach my $word (sort { $keywords{$a} <=> $keywords{$b} } keys (%keywords)) {
my $t = XML::Twig->new( twig_roots   => { 'Id' => \&insert($keywords{$word}) } );

    $t->parse($docsums);

    sub insert 
    { 
        my($t, $id, $k)= @_;

        my $p =  $id->text;      

        my $query    = "insert into pres (id, wid, p) values(DEFAULT, '$k', '$p')";
        my $sql      = $connect->prepare($query);
        $sql->execute( );   

    }
}

Спасибо.

Это было полезно?

Решение

Похоже, ты пытаешься карри insert Но Perl не поддерживает это напрямую. Вместо этого вы можете использовать анонимную подстройку для составления правильного списка аргументов для insert:

'Id' => sub { insert($_[0], $_[1], $keywords{$word}) }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top