Tie::Scalar, Tie::StdScalar - base class definitions for tied scalars
| Use Case | Command | Description |
|---|---|---|
| ðĶ Create a tied scalar class | package NewScalar; @ISA = qw(Tie::Scalar); |
ð ïļ Inherit from Tie::Scalar and provide mandatory methods (FETCH, TIESCALAR, etc.) |
| ðĶ Create a tied scalar with default behaviors | package NewStdScalar; @ISA = qw(Tie::StdScalar); |
ð Inherit from Tie::StdScalar; only override needed methods. |
| ð Tie a scalar variable | tie $scalar, 'ClassName'; |
ð Associate a scalar variable with a tying class. |
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';
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 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 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 provides all the necessary methods, but one should realize they do not do anything useful. Calling Tie::Scalar::FETCH or Tie::Scalar::STORE results in a â ïļ (trappable) croak. And if you inherit from Tie::Scalar, you ðī must provide either a new or a TIESCALAR 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 the Tie::Scalar one.
The perltie section uses a ðĄ good example of tying scalars by associating process IDs with priority.
Generated by phpman v4.9.26-5-g7740029 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-22 02:07 @216.73.216.206
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)