Frage

Hilfe Ich kann meinen Hash -Schlüssel nicht an Twig -Subroutine übergeben.

hier:

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

    }
}

Vielen Dank.

War es hilfreich?

Lösung

Sieht so aus, als würden Sie versuchen zu curry insert Aber Perl unterstützt das nicht direkt. Stattdessen können Sie ein anonymer Sub verwenden, um die richtige Argumentliste für zu erstellen insert:

'Id' => sub { insert($_[0], $_[1], $keywords{$word}) }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top