use strict;
my %variable_hash;
$variable_hash{a}{b}{c}{d} = 40;
$variable_hash{e}{f}{g}{h}{i} = 50;
$variable_hash{a}{b}{c}{j} = 45;
sub get_value
{
my $argument = shift;
my @tmp = split /\./, $argument;
my %lastref = %variable_hash;
my $max = @tmp;
my $current = 0;
my $found = 0;
foreach my $arg (@tmp)
{
$current++;
last unless (exists($lastref{$arg}));
if ($current == $max)
{
return $lastref{$arg};
}
%lastref = %{$lastref{$arg}};
}
undef %lastref;
return %lastref;
}
print get_value("a.b.c.d");
print get_value("e.f.g.h.i");
print get_value("a.b.c.j");
print get_value("a.b.c.k");
print get_value("a");
--In reply to Re: quick question about hash element access
by jdklueber
in thread quick question about hash element access
by glwtta
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |