sub get_var{
my ($self, $var_name) = @_;
return eval "\$$var_name";
}
####
sub get_var{
my ($self, $var_name) = @_;
return $self->{eval "\$$var_name"};
}
####
#!/usr/bin/perl -wl
use strict;
package parser;
my $var1 = "foo";
sub new {
my $self = bless {}, $_[0];
$self->parse();
return $self;
}
sub parse{
my $self = shift;
$self->{$var1} = 'bar';
}
sub get_class_var{
my ($self, $var_name) = @_;
return eval "\$$var_name";
}
sub get_inst_var{
my ($self, $var_name) = @_;
return $self->{eval "\$$var_name"};
}
package main;
my $p = parser->new();
print $p->get_class_var('var1'); # -> foo
print $p->get_inst_var( 'var1'); # -> bar