Linux ip-148-66-134-25.ip.secureserver.net 3.10.0-1160.119.1.el7.tuxcare.els10.x86_64 #1 SMP Fri Oct 11 21:40:41 UTC 2024 x86_64
Apache
: 148.66.134.25 | : 3.144.29.213
66 Domain
8.0.30
amvm
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
share /
perl5 /
Tie /
[ HOME SHELL ]
Name
Size
Permission
Action
Array.pm
7.15
KB
-rw-r--r--
File.pm
75.56
KB
-rw-r--r--
Handle.pm
4.1
KB
-rw-r--r--
Hash.pm
7.45
KB
-rw-r--r--
Memoize.pm
4.15
KB
-rw-r--r--
RefHash.pm
6.09
KB
-rw-r--r--
Scalar.pm
4.06
KB
-rw-r--r--
StdHandle.pm
1.31
KB
-rw-r--r--
SubstrHash.pm
5.28
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Handle.pm
package Tie::Handle; use 5.006_001; our $VERSION = '4.2'; # Tie::StdHandle used to be inside Tie::Handle. For backwards compatibility # loading Tie::Handle has to make Tie::StdHandle available. use Tie::StdHandle; =head1 NAME Tie::Handle - base class definitions for tied handles =head1 SYNOPSIS 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'; =head1 DESCRIPTION This module provides some skeletal methods for handle-tying classes. See L<perltie> for a list of the functions required in tying a handle to a package. The basic B<Tie::Handle> package provides a C<new> method, as well as methods C<TIEHANDLE>, C<PRINT>, C<PRINTF> and C<GETC>. For developers wishing to write their own tied-handle classes, the methods are summarized below. The L<perltie> section not only documents these, but has sample code as well: =over 4 =item TIEHANDLE classname, LIST The method invoked by the command C<tie *glob, classname>. Associates a new glob instance with the specified class. C<LIST> would represent additional arguments (along the lines of L<AnyDBM_File> and compatriots) needed to complete the association. =item WRITE this, scalar, length, offset Write I<length> bytes of data from I<scalar> starting at I<offset>. =item PRINT this, LIST Print the values in I<LIST> =item PRINTF this, format, LIST Print the values in I<LIST> using I<format> =item READ this, scalar, length, offset Read I<length> bytes of data into I<scalar> starting at I<offset>. =item READLINE this Read a single line =item GETC this Get a single character =item CLOSE this Close the handle =item OPEN this, filename (Re-)open the handle =item BINMODE this Specify content is binary =item EOF this Test for end of file. =item TELL this Return position in the file. =item SEEK this, offset, whence Position the file. Test for end of file. =item DESTROY this Free the storage associated with the tied handle referenced by I<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. =back =head1 MORE INFORMATION The L<perltie> section contains an example of tying handles. =head1 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. =cut use Carp; use warnings::register; sub new { my $pkg = shift; $pkg->TIEHANDLE(@_); } # "Grandfather" the new, a la Tie::Hash sub TIEHANDLE { my $pkg = shift; if (defined &{"{$pkg}::new"}) { warnings::warnif("WARNING: calling ${pkg}->new since ${pkg}->TIEHANDLE is missing"); $pkg->new(@_); } else { croak "$pkg doesn't define a TIEHANDLE method"; } } sub PRINT { my $self = shift; if($self->can('WRITE') != \&WRITE) { my $buf = join(defined $, ? $, : "",@_); $buf .= $\ if defined $\; $self->WRITE($buf,length($buf),0); } else { croak ref($self)," doesn't define a PRINT method"; } } sub PRINTF { my $self = shift; if($self->can('WRITE') != \&WRITE) { my $buf = sprintf(shift,@_); $self->WRITE($buf,length($buf),0); } else { croak ref($self)," doesn't define a PRINTF method"; } } sub READLINE { my $pkg = ref $_[0]; croak "$pkg doesn't define a READLINE method"; } sub GETC { my $self = shift; if($self->can('READ') != \&READ) { my $buf; $self->READ($buf,1); return $buf; } else { croak ref($self)," doesn't define a GETC method"; } } sub READ { my $pkg = ref $_[0]; croak "$pkg doesn't define a READ method"; } sub WRITE { my $pkg = ref $_[0]; croak "$pkg doesn't define a WRITE method"; } sub CLOSE { my $pkg = ref $_[0]; croak "$pkg doesn't define a CLOSE method"; } 1;
Close