```{index} single: Tie::Handle ``` # Tie::Handle base class definitions for tied handles ## SYNOPSIS ```perl package NewHandle; require Tie::Handle; @ISA = qw(Tie::Handle); sub READ { ... } # Provide a needed method sub TIEHANDLE { ... } # Overrides inherited method package main; tie *FH, 'NewHandle'; ``` ## DESCRIPTION This module provides some skeletal methods for handle-tying classes. See [perltie](https://perldoc.perl.org/perltie) for a list of the functions required in tying a handle to a package. The basic **Tie::Handle** package provides a `new` method, as well as methods `TIEHANDLE`, `PRINT`, `PRINTF` and `GETC`. For developers wishing to write their own tied-handle classes, the methods are summarized below. The [perltie](https://perldoc.perl.org/perltie) section not only documents these, but has sample code as well: - TIEHANDLE classname, LIST The method invoked by the command `tie *glob, classname`. Associates a new glob instance with the specified class. `LIST` would represent additional arguments (along the lines of [AnyDBM\_File](../AnyDBM_File.md) and compatriots) needed to complete the association. - WRITE this, scalar, length, offset Write _length_ bytes of data from _scalar_ starting at _offset_. - PRINT this, LIST Print the values in _LIST_ - PRINTF this, format, LIST Print the values in _LIST_ using _format_ - READ this, scalar, length, offset Read _length_ bytes of data into _scalar_ starting at _offset_. - READLINE this Read a single line - GETC this Get a single character - CLOSE this Close the handle - OPEN this, filename (Re-)open the handle - BINMODE this Specify content is binary - EOF this Test for end of file. - TELL this Return position in the file. - SEEK this, offset, whence Position the file. Test for end of file. - DESTROY this Free the storage associated with the tied handle 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. ## MORE INFORMATION The [perltie](https://perldoc.perl.org/perltie) section contains an example of tying handles. ## COMPATIBILITY This version of Tie::Handle is neither related to nor compatible with the Tie::Handle (3.0) module available on CPAN. It was due to an accident that two modules with the same name appeared. The namespace clash has been cleared in favor of this module that comes with the perl core in September 2000 and accordingly the version number has been bumped up to 4.0.