ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



Tie::RefHash(3pm)                     Perl Programmers Reference Guide                     Tie::RefHash(3pm)



NAME
       Tie::RefHash - use references as hash keys

SYNOPSIS
           require 5.004;
           use Tie::RefHash;
           tie HASHVARIABLE, 'Tie::RefHash', LIST;
           tie HASHVARIABLE, 'Tie::RefHash::Nestable', LIST;

           untie HASHVARIABLE;

DESCRIPTION
       This module provides the ability to use references as hash keys if you first "tie" the hash variable
       to this module.  Normally, only the keys of the tied hash itself are preserved as references; to use
       references as keys in hashes-of-hashes, use Tie::RefHash::Nestable, included as part of Tie::RefHash.

       It is implemented using the standard perl TIEHASH interface.  Please see the "tie" entry in perl-func(1) perlfunc(1)
       func(1) and perltie(1) for more information.

       The Nestable version works by looking for hash references being stored and converting them to tied
       hashes so that they too can have references as keys.  This will happen without warning whenever you
       store a reference to one of your own hashes in the tied hash.

EXAMPLE
           use Tie::RefHash;
           tie %h, 'Tie::RefHash';
           $a = [];
           $b = {};
           $c = \*main;
           $d = \"gunk";
           $e = sub { 'foo' };
           %h = ($a => 1, $b => 2, $c => 3, $d => 4, $e => 5);
           $a->[0] = 'foo';
           $b->{foo} = 'bar';
           for (keys %h) {
              print ref($_), "\n";
           }

           tie %h, 'Tie::RefHash::Nestable';
           $h{$a}->{$b} = 1;
           for (keys %h, keys %{$h{$a}}) {
              print ref($_), "\n";
           }

AUTHOR
       Gurusamy Sarathy        gsar@activestate.com

       'Nestable' by Ed Avis   ed@membled.com

VERSION
       Version 1.32

SEE ALSO
       perl(1), perlfunc(1), perltie(1)



perl v5.8.8                                      2001-09-21                                Tie::RefHash(3pm)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.