Tie::Hash(3)

Tie::Hash(3)

tfind Home Page Subroutines Index Tie::RefHash


NNAAMMEE
       Tie::Hash, Tie::StdHash - base class definitions for tied
       hashes

SSYYNNOOPPSSIISS
           package NewHash;
           require Tie::Hash;

           @ISA = (Tie::Hash);

           sub DELETE { ... }          # Provides needed method
           sub CLEAR { ... }           # Overrides inherited method

           package NewStdHash;
           require Tie::Hash;

           @ISA = (Tie::StdHash);

           # All methods provided by default, define only those needing overrides
           sub DELETE { ... }

           package main;

           tie %new_hash, 'NewHash';
           tie %new_std_hash, 'NewStdHash';

DDEESSCCRRIIPPTTIIOONN
       This module provides some skeletal methods for hash-tying
       classes. See the perltie manpage for a list of the
       functions required in order to tie a hash to a package.
       The basic TTiiee::::HHaasshh package provides a new method, as well
       as methods TIEHASH, EXISTS and CLEAR. The TTiiee::::SSttddHHaasshh
       package provides most methods required for hashes in the
       perltie manpage. It inherits from TTiiee::::HHaasshh, and causes
       tied hashes to behave exactly like standard hashes,
       allowing for selective overloading of methods. The new
       method is provided as grandfathering in the case a class
       forgets to include a TIEHASH method.

       For developers wishing to write their own tied hashes, the
       required methods are briefly defined below. See the the
       perltie manpage section for more detailed descriptive, as
       well as example code:

       TIEHASH classname, LIST
            The method invoked by the command tie %hash,
            classname. Associates a new hash instance with the
            specified class. LIST would represent additional
            arguments (along the lines of the AnyDBM_File manpage
            and compatriots) needed to complete the association.

       STORE this, key, value
            Store datum value into key for the tied hash this.

       FETCH this, key
            Retrieve the datum in key for the tied hash this.

       FIRSTKEY this
            Return the (key, value) pair for the first key in the
            hash.

       NEXTKEY this, lastkey
            Return the next (key, value) pair for the hash.

       EXISTS this, key
            Verify that key exists with the tied hash this.

       DELETE this, key
            Delete the key key from the tied hash this.

       CLEAR this
            Clear all values from the tied hash this.

CCAAVVEEAATTSS
       The the perltie manpage documentation includes a method
       called DESTROY as a necessary method for tied hashes.
       Neither TTiiee::::HHaasshh nor TTiiee::::SSttddHHaasshh define a default for
       this method. This is a standard for class packages, but
       may be omitted in favor of a simple default.

MMOORREE IINNFFOORRMMAATTIIOONN
       The packages relating to various DBM-related
       implemetations (DB_File, NDBM_File, etc.) show examples of
       general tied hashes, as does the the Config manpage
       module. While these do not utilize TTiiee::::HHaasshh, they serve
       as good working examples.

tfind Home Page Subroutines Index Tie::RefHash