At 16:10 17.05.2002, Viljo Marrandi wrote:
>Hello,
>
>Sorry about non mod_perl question, but as I'm subscribed to this list and
>I know I can get help from here, I ask my question here.
>
>Can anyone tell me, what's wrong with this piece of code:
>
>$vars->{'key2'} = "value of second key";
>$vars = {
>     xxx => "AAA",
>     yyy => "BBB",
>     zzz => "CCC",
>};
>$vars->{'key1'} = "value of first key";
>
>foreach $a ( keys %{$vars} ) {
>    print "$a = $vars->{$a}\n";
>}
>
>
>Problem is, that value of key2 is lost after I set values to xxx, yyy and
>zzz, but key1 is ok. I searched through perlref, perldsc manpages, but
>didn't find anything similar (maybe that's the problem?).

Reeallllyyyy OT, but ok :)

You're effectively re-setting your variable here. What you do above is, if 
we consider simple scalars, the same as:
$vars = "Foo1";
$vars = "Foo2";

What will be the value of $vars? "Foo2" of course.

What are your solutions? The easiest would maybe be to do this:
@{$vars}{qw/xxx yyy zzz/} = qw/AAA BBB CCC/;

Or
$vars->{xxx} = 'AAA', etc....


-- 
Per Einar Ellefsen
[EMAIL PROTECTED]


Reply via email to