my $l = new z; $l->{xxx4} = 'wrong way'; my $str = 'xxx'; my $str1 = "4"; my $str2 = "param1"; eval ("print \$l->$str$str1(\$str2)"); package z; sub new { my $class = shift; my $self = {}; return bless $self, $class; }; sub xxx4 { my $self = shift; my $param = shift; return "were requested xxx4: $param \n"; };