in reply to (jeffa) Re: Why doens't non-greediness work?
in thread Why doesn't non-greediness work?
And now of course I have to add my onw take to it!
All you want to do is change some img tags, while leaving the rest of the file unchanged. This looks like a good opportunity to use twig_roots, which only builds the twig for the elements that have handlers, and the awfully named twig_print_outside_roots, that prints everything else in the document:
#!/usr/bin/perl -w use strict; use warnings; use XML::Twig; my $twig = XML::Twig->new( twig_print_outside_roots => 1, twig_roots => { 'img[@alt="Smiley"]' => sub { print q{:)} }, 'img[@alt="Wink"]' => sub { print q{;)} }, }, ); $twig->parse(\*DATA); __DATA__ <body> <a href="wink.html"><img border="0" src="/images/wink.gif" alt="Wink"/ +></a> <a href="wink.html"><img border="0" src="/images/wink.gif" alt="NotWin +k"/></a> <a href="smile.html"><img border="0" src="/images/smiley.gif" alt="Smi +ley"/></a> </body>
|
|---|