package Foo; sub new { my $class = shift; my $self = {}; $self->{PARSED} = []; $self->{TWIG} = XML::Twig->new( twig_handlers => { mybutton => \&_twig_handle_button }, pretty_print => 'indented' ); bless( $self, $class ); } sub _twig_handle_button { my ( $t, $section ) = @_; my $parsed_href = { ... }; &_handle_parsed_href( $parsed_href ); } #### sub _handle_parsed_href { my ( $self, $parsed_href ) = @_; push @{$self->{PARSED}}, $parsed_href; }