use XML::Parser:Expat; my $parser = new XML::Parser::Expat; $parser->setHandlers('Start' => \&sh, 'End' => \&eh, 'Char' => \&ch); . . sub sh { my ($p, $el, %atts) = @_; . .