use XML::Parser; use strict; parse_stuff(); sub parse_stuff { my $parser = new XML::Parser(Handlers => {Start => \&handle_start, End => \&handle_end}); no strict "vars"; local $indent; $parser->parsefile('/tmp/ra.xml'); } sub handle_start { my ($p, $el, %atts) = @_; our $indent; $indent++; print "-"x$indent . "$el\n"; } sub handle_end { our $indent; $indent--; }