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>
