| use XML::Parser; $xml = "<z><a>one two</a><b>three four</b></z>"; $p = new XML::Parser(Handlers => { Start => \&STag, End => \&ETag }); $p->parse($xml); sub STag { $parser = $_[0]; if ($_[1] eq 'b') { $parser->setHandlers(Char => \&inB); } } sub ETag { $parser = $_[0]; if ($_[1] eq 'b') { $parser->setHandlers(Char => 0); } } sub inB { print "Text from <B>: $_[1]\n"; } Text from <B>: three four |