qazwart has asked for the wisdom of the Perl Monks concerning the following question:
I want to manipulate the array in $myHash{"tres"}, and in order to prevent deferencing it all the time, I'll copy it into an actual array:$myHash{"uno"} = "one"; $myHash{"dos"} = "two"; $myHash{"tres"}->[0] = "three-point-oh"; $myHash{"tres"}->[1] = "three-point-one"; $myHash{"tres"}->[2] = "three-point-two"; $myHash{"quatro"} = "four";
Once I'm done manipulating the data, I want to put it back into the original data structure. I can do either one of these:@myArray = @{$myHash{"tres"}}; #DeRef & Copy to @myArray $myArray[3] = "three-point-three"; $myArray[4] = "three-point-four";
For very large arrays, the second statement is faster than the first one.@{$myHash{"tres"}} = @myArray; #Copies Array to Hash $myHash{"tres"} = \@myArray; #Copies Ref to Hash
Of course, the problem is my initial copy to @myArray is not very efficient either. What I'd really love to do is something like this:
Which would allow me to refer to $myHash{"tres"} as @myArray in my code without copying the whole array in the first place. (Then, I wouldn't even worry about putting the array back into my original data structure).\@myArray = $myHash{"tres"};
I guess what I'm really interested in is creating an alias of $myHash{"tres"} as @myArray. Is there anyway to do that in Perl?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Getting an Array Reference Into an Array
by Joost (Canon) on Jun 07, 2006 at 19:51 UTC | |
|
Re: Getting an Array Reference Into an Array
by Fletch (Bishop) on Jun 07, 2006 at 19:37 UTC | |
by ikegami (Patriarch) on Jun 07, 2006 at 19:48 UTC | |
by qazwart (Scribe) on Jun 07, 2006 at 20:45 UTC | |
by Fletch (Bishop) on Jun 07, 2006 at 20:50 UTC | |
|
Re: Getting an Array Reference Into an Array
by NetWallah (Canon) on Jun 07, 2006 at 19:57 UTC | |
|
Re: Getting an Array Reference Into an Array
by debiandude (Scribe) on Jun 07, 2006 at 19:51 UTC | |
by qazwart (Scribe) on Jun 07, 2006 at 20:34 UTC | |
|
Re: Getting an Array Reference Into an Array
by qazwart (Scribe) on Jun 08, 2006 at 14:52 UTC |