Tie::Scalar(3p) Perl Programmers Reference Guide Tie::Scalar(3p)
Tie::Scalar, Tie::StdScalar - base class definitions for tied scalars
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';
This module provides some skeletal methods for scalar-tying classes. See perltie for a list of the functions required in tying a scalar to a package. The basic Tie::Scalar package provides a "new" method, as well as methods "TIESCALAR", "FETCH" and "STORE". The Tie::StdScalar package provides all the methods specified in perltie. It inherits from Tie::Scalar and causes scalars tied to it to behave exactly like the built-in scalars, allowing for selective overload- ing 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 perltie sec- tion 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 argu- ments (along the lines of AnyDBM_File and compatriots) needed to complete the association. FETCH this Retrieve the value of the tied scalar referenced by perl v5.8.8 2005-02-05 1 Tie::Scalar(3p) Perl Programmers Reference Guide Tie::Scalar(3p) this. STORE this, value Store data value in the tied scalar referenced by this. DESTROY this Free the storage associated with the tied scalar refer- enced 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 destruc- tion of an instance.
The perltie section uses a good example of tying scalars by associating process IDs with priority. perl v5.8.8 2005-02-05 2