J
Jason
I'm trying to write a fuction to take any string and resolve it by
replacing any simple string scalar in it with its value and keep
everything else the same, eg:
$resolved=evalString($beforeResolve) #there may be . or \ etc in
$beforeResolve which I want to keep it as it is.
Here is the full test code I used, which doesn't work:
sub evalString {
my $beforeResolve=shift;
my $resolved;
my $evalString=q/$resolved="$beforeResolve";/;
eval $evalString;
return $resolved;
}
$str1="test1";
$str2="test2";
$beforeResolve='$str1.$str2'; #I am expecting resoved results like
this: test1.test2
print "resolved:" . evalString($beforeResolve) . "\n"; #NOT WORKING
????
print eval '$str1.$str2'; #this returns "test1test2" where dot is
gone, not what I want!
Thanks,
Jason
replacing any simple string scalar in it with its value and keep
everything else the same, eg:
$resolved=evalString($beforeResolve) #there may be . or \ etc in
$beforeResolve which I want to keep it as it is.
Here is the full test code I used, which doesn't work:
sub evalString {
my $beforeResolve=shift;
my $resolved;
my $evalString=q/$resolved="$beforeResolve";/;
eval $evalString;
return $resolved;
}
$str1="test1";
$str2="test2";
$beforeResolve='$str1.$str2'; #I am expecting resoved results like
this: test1.test2
print "resolved:" . evalString($beforeResolve) . "\n"; #NOT WORKING
????
print eval '$str1.$str2'; #this returns "test1test2" where dot is
gone, not what I want!
Thanks,
Jason