-
-
13 Mar 2022 08:40:18 UTC
- Distribution: perl
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository
- Issues (2152)
- Testers
- Kwalitee
Bus factor: 15- License: perl_5
- Activity
24 month- Tools
- Download (17.35MB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 1 contributors- perl5-porters@perl.org
- Dependencies
- unknown
- Reverse dependencies
- CPAN Testers List
- Dependency graph
NAME
Tie::Scalar, Tie::StdScalar - base class definitions for tied scalars
SYNOPSIS
package NewScalar; require Tie::Scalar; @ISA = qw(Tie::Scalar); sub FETCH { ... } # Provide a needed method sub TIESCALAR { ... } # Overrides inherited method package NewStdScalar; require Tie::Scalar; @ISA = qw(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';
DESCRIPTION
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 methodsTIESCALAR
,FETCH
andSTORE
. 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 overloading of methods. Thenew
method is provided as a means of grandfathering, for classes that forget to provide their ownTIESCALAR
method.For developers wishing to write their own tied-scalar classes, the methods are summarized below. The perltie 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 AnyDBM_File 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.
Tie::Scalar vs Tie::StdScalar
Tie::Scalar
provides all the necessary methods, but one should realize they do not do anything useful. CallingTie::Scalar::FETCH
orTie::Scalar::STORE
results in a (trappable) croak. And if you inherit fromTie::Scalar
, you must provide either anew
or aTIESCALAR
method.If you are looking for a class that does everything for you that you don't define yourself, use the
Tie::StdScalar
class, not theTie::Scalar
one.MORE INFORMATION
The perltie section uses a good example of tying scalars by associating process IDs with priority.
Module Install Instructions
To install utf8, copy and paste the appropriate command in to your terminal.
cpanm utf8
perl -MCPAN -e shell install utf8
For more information on module installation, please visit the detailed CPAN module installation guide.