Hi Perlers, I am still learning XML::Twig and have a question. I have a couple of event handlers set up thusly, parsing a list of filenames stored in @files:
foreach my $file (@files){ # set up the XML parser: my $twig= XML::Twig->new( twig_handlers => { topicref => \&topicref_processing, xref => \&topicref_processing }, ); $twig->parsefile($file); $twig->purge; }
And I have the handler set up something like this:
sub topicref_processing { my($twig, $topicref) = @_; my($atts) = $topicref->atts(); if($$atts{'keyref'}){ ### associate this keyref with $file } }
What I want to do is, if the handler finds a keyref attribute in the xref or topicref element, store that in a hash with the $file name as the key, something like $keyrefs{$file}{$$atts{'keyref'}} = 'keyref'.
What I can't figure out is, how to pass the name in $file to the event handler, or conversely, how to associate the found attribute back to the $file. I'm probably missing something obvious, but can't puzzle it out.
Any suggestions would be greatly appreciated.
Scott
In reply to XML::Twig newbie question by slugger415
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |