Pregunta

Ayuda no puedo pasar mi clave hash en rama subrutina.

aquí:

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

    }
}

Gracias.

¿Fue útil?

Solución

Parece que están tratando de ganarse el insert pero Perl no admite directamente eso. En su lugar, se puede utilizar un sub anónima para construir la lista de argumentos adecuada para insert:

'Id' => sub { insert($_[0], $_[1], $keywords{$word}) }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top