[sf-perl] passing array and hash references
Quinn Weaver
qw at sf.pm.org
Fri Sep 29 00:34:22 PDT 2006
On Fri, Sep 29, 2006 at 12:18:45AM -0700, Rich Morin wrote:
> At 11:10 PM -0700 9/28/06, Quinn Weaver wrote:
> > Rich, I have a novel solution to your problem. It combines
> > the minimal code changes of the dereferencing approach with
> > the semantics of references. Also, it complies with
> > warnings and strictures.
>
> My subscription to this list keeps on paying for itself...
> Thanks, Quinn (as well as the Man With Too Many Initials :-).
>
>
> > It requires that you modify only the subroutine call
> >
> > t_alias (\@array, \%hash); # Use references, not globs.
>
>
> I don't see that this requires any change to the calling code.
> Although the _receiving_ code no longer uses typeglobs, the
> _calling_ code uses the same syntax it did before:
>
> t_tg(\@array, \%hash);
Ah. I was thinking the call looked like this:
t_tg(*array, *hash);
I guess my Perl 4 skills are rusty. ;)
> This is great stuff, Quinn!
Glad you like it. :)
> Now, before I go dancing in the
> streets, are there any caveats about performance, safety, etc?
I don't know; I've never used it in the wild. I just read about it
in _Perl Best Practices_, and your post jogged my memory. I hope
it helps!
--
qw (Quinn Weaver); #President, San Francisco Perl Mongers
=for information, visit http://sf.pm.org/weblog =cut
More information about the SanFrancisco-pm
mailing list