use strict; use Data::Dumper; sub parse { my ($self, $xmlfile) = @_; my $handler = sub { $self->handle_start(@_) }; # time passes $handler->('foo','bar'); } sub handle_start { print Dumper \@_; }; sub new { bless {} }; my $self = main::->new(); $self->parse('some.xml'); #### $VAR1 = [ bless( {}, 'main' ), 'foo', 'bar' ];