my $p = new XML::Parser (Handlers => {Start => \&hdl_start(@arr), etc}); #### use strict; use XML::Parser; my ($tag, $name); my $p = new XML::Parser (Handlers => {Start => \&hdl_start, Default => \&hdl_def}); $p->parsefile('test.xml'); print "$tag, $name\n"; sub hdl_start { my ($p, $elt, %atts) = @_; $tag = $elt; $name = $atts{'name'}; } sub hdl_def { }