Date: Fri, 10 Jul 1998 10:32:54 -0700 From: "Randy A. Katz" <randyk@ccsales.com> To: questions@FreeBSD.ORG Subject: A PERL Question Message-ID: <3.0.5.32.19980710103254.037789c0@ccsales.com>
next in thread | raw e-mail | index | archive | help
Hello, Hope this one is different and challenging for you: This: $myvar = "somevariablename"; $$myvar = "somevalue"; print "VAR: $somevariablename\n"; produces the output: VAR: somevalue However, this: @names = ('name1','name2','name3'); @values = ('548','444','222'); &assignvariables; print "N1: $name1\n"; print "N2: $name2\n"; print "N3: $name3\n"; sub assignvariables { for ($i = 0; $i < @names; $i++) { $$hash{$names[$i]} = $values[$i]; } } Does not assign a value to the scalars $name1 - $name3 We know this works: @names = ('name1','name2','name3'); @values = ('548','444','222'); &assignvariables; print "N1: $hash{'name1'}\n"; print "N2: $hash{'name2'}\n"; print "N3: $hash{'name3'}\n"; sub assignvariables { for ($i = 0; $i < @names; $i++) { $hash{$names[$i]} = $values[$i]; } } So the question is: How do I get the middle example to assign values to the scalars $name1, $name2, $name3??? Thanx, Randy Katz To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3.0.5.32.19980710103254.037789c0>