ackage parser; sub new { my $self = bless {}, $_[0]; $self->parse(); return $self; } sub parse{ my $self = shift; $self->{var1} = 'foo'; $self->{var2} = 'bar'; #... } sub get_var{ my ($self, $var_name) = @_; return $self->{$var_name}; } package main; my $p = parser->new(); print $p->get_var('var1'); # -> foo print $p->get_var('var2'); # -> bar