Wie kann ich den Twig -Sub -Parameter übergeben?
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.
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