There is nothing wrong with the sample you gave, there must be some other
error causing the message.  And given that message it is apparently a false
message.  Look for a missing colon, particularly on the previous line, or an
unclosed quote above that piece of code.

Here is a code sample doing what you are asking with no errors as a
reference:

use strict;
use Data::Dumper;

my $hashRef = foo();
my %href = %$hashRef;

$href{key1} = 'bar';

print Dumper $hashRef, "\n";
print Dumper \%href, "\n";

sub foo {
  return {key1 => 'val1', key2 => 'val2'};
}


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Monday, July 28, 2003 5:51 PM
To: [EMAIL PROTECTED]
Subject: Hash Dereferenced


I am trying to take a hash reference and then duplicate it so that I can
manipulate that data without affecting the original data. I used "my %href =
%$hashRef;" (without the quotes) to do that. $hashRef is a hash reference
that is passed into the subroutine. However, when I try to run it, I get
errors galore saying "Global symbol "%href" requires explicit package name".
Does anyone know why this is happening?

TIA

Brian


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to