Wim,

You're not declaring $var1 or $var2 anywhere. Instead you're assigning 'val1' and 
'val2' to elements in the hash %VarValue.

So something like...
$VarValue{$var1} = 'val1';
print "I like $VarValue{$var1}!";

will print out...
I like val1

To define $var1, do something like:
$var1 = 'cheese';

Now $var1 is 'cheese', and $VarValue{$var1} is the value of %VarValue with a key of 
'cheese'.

My head hurts!

Tristan


p.s. What are you trying to do? I.e. what's that code for? It looks like a mighty 
confusing way of doing anything. Replacing a hash key with it's hash value seems like 
a bad idea to me. 


You Wrote:
----------

Hello people from the mighty list,

I have a problem with substitutions...
In the piece of code, here below,
"display $var1, $var"' should be "display val1, val2";
I don't see why, but the if condition doesn't seems to work...
and if I remove the if condition, the replacement doesn't occur...
Does any of you know why?

$VarValue{$var1} = "val1";
$VarValue{$var2} = "val2"
$Cmd = "display $var1, $var2";

foreach $Tmp ( sort keys %VarValue ) {
    if ( $Cmd =~ /$Tmp/ ) {
        print "***** In command $Cmd, replace $Tmp by $VarValue{$Tmp}\n";
        $Cmd =~ s/$Tmp/$VarValue{$Tmp}/g;
    }
}



Thanx a lot!

Wim


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







_______________________________________________________
sent via the murky.net webmail hegemony

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to