Pergunta

Help I can't pass my hash key to twig subroutine.

here:

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( );   

    }
}

Thanks.

Foi útil?

Solução

Looks like you're trying to curry insert but Perl doesn't directly support that. Instead, you can use an anonymous sub to build the proper argument list for insert:

'Id' => sub { insert($_[0], $_[1], $keywords{$word}) }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top