jettero has asked for the wisdom of the Perl Monks concerning the following question:
I have a huge array that I wish to transport to another namespace without copying it.
I could simply set @OtherNamespace::Ar = @HA, but that makes a copy and I'd prefer that if Ar gets modified that HA would get modified also. I know you can issue a *ON::Ar = *HA to link them together, but my problem is that my huge array is really an array-ref in a big hash structure...
Is there a way to link $HugeArrayRef to @ON::Ar like with the glob you can use for arrays?
UPDATE: Just use a ref to your huge data structure. Pretend I don't have access to the OtherNameSpace, but still need to set that array to call a function there. I'm trying to avoid this:
@ON::Ar = @{$myvar->{ar}}; $blessed->function; @{$myvar->{ar}} = @ON:Ar;
UPDATE2: I'm embarrassed that *ON::Ar = $myvar->{ar}; is apparently what I wanted. It's always something simple when you spend a long time on it. Data::Alias and Data::Bind are interesting though, so it's not a total loss. Thanks.
-Paul
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: namespace hacking with globs
by Corion (Patriarch) on Jan 15, 2008 at 12:27 UTC | |
|
Re: namespace hacking with globs
by ikegami (Patriarch) on Jan 15, 2008 at 12:44 UTC | |
|
Re: namespace hacking with globs
by lodin (Hermit) on Jan 15, 2008 at 12:24 UTC | |
|
Re: namespace hacking with globs
by moritz (Cardinal) on Jan 15, 2008 at 12:22 UTC | |
|
Re: namespace hacking with globs
by jbert (Priest) on Jan 15, 2008 at 13:29 UTC |