$l_Value =~ s/([a-zA-Z]\w+)/${$o_Object->GetValue(\ $1)}/gs; #### sub GetValue { my $o_Object = shift; my $l_Name_ref = shift; my $l_Value = undef; if (defined($$l_Name_ref)) { print STDERR "1 $$l_Name_ref\n" if (defined($$l_Name_ref)); print STDERR "2 $l_Name_ref\n"; if ($$l_Name_ref =~ /^[a-zA-Z]\w+$/) { print STDERR "3 $l_Name_ref\n"; print STDERR "4 $$l_Name_ref\n"; ... } else { ... } return \ $l_Value; }