Tie::Scalar(3)

Tie::Scalar(3)

Tie::RefHash Home Page Subroutines Index Tie::SubstrHash


NNAAMMEE
       Tie::Scalar, Tie::StdScalar - base class definitions for
       tied scalars

SSYYNNOOPPSSIISS
           package NewScalar;
           require Tie::Scalar;

           @ISA = (Tie::Scalar);

           sub FETCH { ... }           # Provide a needed method
           sub TIESCALAR { ... }       # Overrides inherited method

           package NewStdScalar;
           require Tie::Scalar;

           @ISA = (Tie::StdScalar);

           # All methods provided by default, so define only what needs be overridden
           sub FETCH { ... }

           package main;

           tie $new_scalar, 'NewScalar';
           tie $new_std_scalar, 'NewStdScalar';

DDEESSCCRRIIPPTTIIOONN
       This module provides some skeletal methods for scalar-
       tying classes. See the perltie manpage for a list of the
       functions required in tying a scalar to a package. The
       basic TTiiee::::SSccaallaarr package provides a new method, as well
       as methods TIESCALAR, FETCH and STORE. The TTiiee::::SSttddSSccaallaarr
       package provides all the methods specified in  the perltie
       manpage. It inherits from TTiiee::::SSccaallaarr and causes scalars
       tied to it to behave exactly like the built-in scalars,
       allowing for selective overloading of methods. The new
       method is provided as a means of grandfathering, for
       classes that forget to provide their own TIESCALAR method.

       For developers wishing to write their own tied-scalar
       classes, the methods are summarized below. The the perltie
       manpage section not only documents these, but has sample
       code as well:

       TIESCALAR classname, LIST
            The method invoked by the command tie $scalar,
            classname. Associates a new scalar 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.

       FETCH this
            Retrieve the value of the tied scalar referenced by
            this.

       STORE this, value
            Store data value in the tied scalar referenced by
            this.

       DESTROY this
            Free the storage associated with the tied scalar
            referenced by this.  This is rarely needed, as Perl
            manages its memory quite well. But the option exists,
            should a class wish to perform specific actions upon
            the destruction of an instance.

MMOORREE IINNFFOORRMMAATTIIOONN
       The the perltie manpage section uses a good example of
       tying scalars by associating process IDs with priority.

Tie::RefHash Home Page Subroutines Index Tie::SubstrHash