Look at where $hwwns is defined.
As you've only pasted a bit of code out of context we really don't have much to go on here.
$hwwns->{$hwpath} = $hwwn assigns the value of $hwwn to the KEY named with the value of $hwpath
the hash ref $hwwns was "declared somewhere else"(TM) within your code that you have not shared with us
Here's a quick example to show you how hash references work:
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
# Declare the hash reference with an empty hash
my $hash = {};
# assign the value "bar" to the key foo
$hash->{foo} = 'bar';
# This prints the values in the hash
# $VAR1 = {
# 'foo' => 'bar'
# };
print Dumper $hash;
# you can retrieve the value by specifying the hash key directly also
# prints "bar"
print $hash->{foo} . "\n";
# we can use variables to assign key names:
foreach my $key (qw(abc def lmnop zaxy)) {
my $value = reverse $key;
$hash->{$key} = $value;
}
# since this is test data, I've just reversed the key names
# to show the differentiation between $KEY and $VALUE
# Now our hash looks something like this:
# $VAR1 = {
# 'zaxy' => 'yxaz',
# 'lmnop' => 'ponml',
# 'def' => 'fed',
# 'abc' => 'cba',
# 'foo' => 'bar'
# };
print Dumper $hash;
If you can provide more information, like a full sub definition, we can probably provide a more definite answer. |