![]() |
adding a variable name to a hash to name is part of the variable name
I have a perl script that I wrote the loops through a list of servers in a
file and I want to create a hash with the server name in it. I want each server to have its own hash. for example $myserver = thor; hash name $server_$myserver_name{$some_key} want to get this hash name $server_thor_name{$some_key} How do I get the $myserver name to be interpolated to thor in that line? I tried this and it failed. $server_${myserver}_name{$some_key} -Bobby |
Re: adding a variable name to a hash to name is part of the variable name
Bobby Chamness wrote:
> I have a perl script that I wrote the loops through a list of servers > in a file and I want to create a hash with the server name in it. You mean a the server name as part of the variable name? Well, maybe you think that's what you want, but it is A Very Bad Idea (TM). See the FAQ "How can I use a variable as a variable name?" and gazillions of previuos discussions in CLPM for details. > I > want each server to have its own hash. Just use a hash of (references to) hashes. > $server_$myserver_name{$some_key} Why not $servers{$myserver_name}{$some_key} jue |
Re: adding a variable name to a hash to name is part of the variablename
Bobby Chamness wrote:
> I have a perl script that I wrote the loops through a list of servers in a > file and I want to create a hash with the server name in it. Sounds good. A master hash with server name as the top-level key. > I want each server to have its own hash. With a hash of hashes, each server has its own hash. The server's hash just doesn't have a name; it is a member of the master hash. > $server_$myserver_name{$some_key} $servers{$myserver_name}{$some_key} = $value; foreach my $server (sort keys %servers) { print "Processing server $server\n"; foreach my $key (sort keys %{$servers{$server}}) { print " $key = $servers{$server}{$key}\n"; } } -Joe P.S. The newsgroup comp.lang.perl is defunct. Use comp.lang.perl.misc instead. |
| All times are GMT. The time now is 06:36 AM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.