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';
new
method, as well as methods TIESCALAR
, FETCH
and STORE
. The Tie::StdScalar
package provides all the methods specified in the perltie manpage. It inherits from
Tie::Scalar 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:
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.