in reply to Assigning variables via looping
use strict; use warnings; my @names = ('peter','jonah','larry'); my %name_hash = (); foreach (@names) { $name_hash{$_} = "i like $_"; } print "$name_hash{$_}\n" foreach @names;
In a side note, while you cannot use my on globals, you can localize their values with local. <-- not really relevant.
Update: A useful link, as pointed out by bart in CB: http://www.google.com/search?q=varvarname&btnI=I;
If you are tied to the idea of symbolic refs, you can use them with some degree of stricture with
use strict; use warnings; my @names = ('peter','jonah','larry'); our ($peter,$jonah,$larry); foreach (@names) { no strict 'refs'; $$_ = "i like $_"; } print "$peter\n$jonah\n$larry\n";
But read the link first.
|
|---|