سؤال

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.

هل كانت مفيدة؟

المحلول

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}) }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top