Re: A ref too far: assign an array ref to an array ref to a hash element
From: John W. Krahn (krahnj_at_acm.org)
Date: 05/29/04
- Previous message: John W. Krahn: "Re: hour -1 routine"
- In reply to: Angie Ahl: "A ref too far: assign an array ref to an array ref to a hash element"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
To: beginners@perl.org Date: Fri, 28 May 2004 15:44:22 -0700
Angie Ahl wrote:
>
> Hi people
Hello,
> I'm trying to create a hash of arrays of arrays and I'm having a mind
> twisting time with references.
>
> my $key = "some_varying_text"
> my %pathhash;
> my @link = ($LinkUrl, $LinkTitle);
>
> I'm trying to set $pathhash{$key} to an array that contains the array
> @link.
> ie there will be multiple @link arrays in $pathhash{$key}.
>
> I just can't work out how to assign an array ref to an array ref to a
> hash element. I think that's right.
>
> Any clues anyone... please, 4 hours down and a lot of RTFM'ing hasn't
> helped (quite the opposite actually;)
If @link is lexically scoped then use a reference:
$pathhash{ $key }[ 0 ] = \@link;
# or
push @{ $pathhash{ $key } }, \@link;
If not then you have to copy it to an anonymous array:
$pathhash{ $key }[ 0 ] = [ @link ];
# or
push @{ $pathhash{ $key } }, [ @link ];
John
-- use Perl; program fulfillment
- Previous message: John W. Krahn: "Re: hour -1 routine"
- In reply to: Angie Ahl: "A ref too far: assign an array ref to an array ref to a hash element"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|