Linux web0273.sh.tyo1 4.18.0-553.141.2.lve.el7h.x86_64 #1 SMP Wed Jul 8 17:20:31 UTC 2026 x86_64
Apache
: 127.0.0.1 | : 216.73.216.125
Cant Read [ /etc/named.conf ]
8.3.31
r2745769
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
perl5 /
vendor_perl /
[ HOME SHELL ]
Name
Size
Permission
Action
Algorithm
[ DIR ]
drwxr-xr-x
Alien
[ DIR ]
drwxr-xr-x
Any
[ DIR ]
drwxr-xr-x
AnyEvent
[ DIR ]
drwxr-xr-x
Apache
[ DIR ]
drwxr-xr-x
Apache2
[ DIR ]
drwxr-xr-x
App
[ DIR ]
drwxr-xr-x
AppConfig
[ DIR ]
drwxr-xr-x
Archive
[ DIR ]
drwxr-xr-x
Array
[ DIR ]
drwxr-xr-x
Astro
[ DIR ]
drwxr-xr-x
Authen
[ DIR ]
drwxr-xr-x
B
[ DIR ]
drwxr-xr-x
BZ
[ DIR ]
drwxr-xr-x
Boulder
[ DIR ]
drwxr-xr-x
Browser
[ DIR ]
drwxr-xr-x
Bundle
[ DIR ]
drwxr-xr-x
Business
[ DIR ]
drwxr-xr-x
Bytes
[ DIR ]
drwxr-xr-x
CGI
[ DIR ]
drwxr-xr-x
CHI
[ DIR ]
drwxr-xr-x
CPAN
[ DIR ]
drwxr-xr-x
CPANPLUS
[ DIR ]
drwxr-xr-x
CSS
[ DIR ]
drwxr-xr-x
Cache
[ DIR ]
drwxr-xr-x
Canary
[ DIR ]
drwxr-xr-x
Carp
[ DIR ]
drwxr-xr-x
Check
[ DIR ]
drwxr-xr-x
Child
[ DIR ]
drwxr-xr-x
Class
[ DIR ]
drwxr-xr-x
Clipboard
[ DIR ]
drwxr-xr-x
Clone
[ DIR ]
drwxr-xr-x
Collectd
[ DIR ]
drwxr-xr-x
Config
[ DIR ]
drwxr-xr-x
ConfigReader
[ DIR ]
drwxr-xr-x
Context
[ DIR ]
drwxr-xr-x
Contextual
[ DIR ]
drwxr-xr-x
Convert
[ DIR ]
drwxr-xr-x
Crypt
[ DIR ]
drwxr-xr-x
Curses
[ DIR ]
drwxr-xr-x
Cwd
[ DIR ]
drwxr-xr-x
DBD
[ DIR ]
drwxr-xr-x
DBIx
[ DIR ]
drwxr-xr-x
DBM
[ DIR ]
drwxr-xr-x
DB_File
[ DIR ]
drwxr-xr-x
Data
[ DIR ]
drwxr-xr-x
Database
[ DIR ]
drwxr-xr-x
Date
[ DIR ]
drwxr-xr-x
DateTime
[ DIR ]
drwxr-xr-x
DateTimeX
[ DIR ]
drwxr-xr-x
Declare
[ DIR ]
drwxr-xr-x
Devel
[ DIR ]
drwxr-xr-x
Digest
[ DIR ]
drwxr-xr-x
Directory
[ DIR ]
drwxr-xr-x
Dist
[ DIR ]
drwxr-xr-x
DynaLoader
[ DIR ]
drwxr-xr-x
Email
[ DIR ]
drwxr-xr-x
Encode
[ DIR ]
drwxr-xr-x
Env
[ DIR ]
drwxr-xr-x
Error
[ DIR ]
drwxr-xr-x
Eval
[ DIR ]
drwxr-xr-x
Excel
[ DIR ]
drwxr-xr-x
Exception
[ DIR ]
drwxr-xr-x
Exporter
[ DIR ]
drwxr-xr-x
ExtUtils
[ DIR ]
drwxr-xr-x
FCGI
[ DIR ]
drwxr-xr-x
Feed
[ DIR ]
drwxr-xr-x
Fennec
[ DIR ]
drwxr-xr-x
File
[ DIR ]
drwxr-xr-x
FileHandle
[ DIR ]
drwxr-xr-x
Filesys
[ DIR ]
drwxr-xr-x
Finance
[ DIR ]
drwxr-xr-x
Font
[ DIR ]
drwxr-xr-x
Frontier
[ DIR ]
drwxr-xr-x
Fsdb
[ DIR ]
drwxr-xr-x
GD
[ DIR ]
drwxr-xr-x
Geography
[ DIR ]
drwxr-xr-x
Getopt
[ DIR ]
drwxr-xr-x
Git
[ DIR ]
drwxr-xr-x
GraphViz
[ DIR ]
drwxr-xr-x
Gtk3
[ DIR ]
drwxr-xr-x
HTML
[ DIR ]
drwxr-xr-x
HTTP
[ DIR ]
drwxr-xr-x
Hash
[ DIR ]
drwxr-xr-x
Heap
[ DIR ]
drwxr-xr-x
Hook
[ DIR ]
drwxr-xr-x
IO
[ DIR ]
drwxr-xr-x
IPC
[ DIR ]
drwxr-xr-x
IPTables
[ DIR ]
drwxr-xr-x
IRC
[ DIR ]
drwxr-xr-x
Image
[ DIR ]
drwxr-xr-x
Import
[ DIR ]
drwxr-xr-x
Inline
[ DIR ]
drwxr-xr-x
JSON
[ DIR ]
drwxr-xr-x
JavaScript
[ DIR ]
drwxr-xr-x
Jcode
[ DIR ]
drwxr-xr-x
LWP
[ DIR ]
drwxr-xr-x
Lexical
[ DIR ]
drwxr-xr-x
Lingua
[ DIR ]
drwxr-xr-x
List
[ DIR ]
drwxr-xr-x
Locale
[ DIR ]
drwxr-xr-x
LockFile
[ DIR ]
drwxr-xr-x
Log
[ DIR ]
drwxr-xr-x
MCE
[ DIR ]
drwxr-xr-x
MIME
[ DIR ]
drwxr-xr-x
MLDBM
[ DIR ]
drwxr-xr-x
MRO
[ DIR ]
drwxr-xr-x
Mail
[ DIR ]
drwxr-xr-x
Math
[ DIR ]
drwxr-xr-x
Messaging
[ DIR ]
drwxr-xr-x
Meta
[ DIR ]
drwxr-xr-x
MetaCPAN
[ DIR ]
drwxr-xr-x
Mixin
[ DIR ]
drwxr-xr-x
Mo
[ DIR ]
drwxr-xr-x
Mock
[ DIR ]
drwxr-xr-x
Modern
[ DIR ]
drwxr-xr-x
Module
[ DIR ]
drwxr-xr-x
Mojo
[ DIR ]
drwxr-xr-x
Mojolicious
[ DIR ]
drwxr-xr-x
Mon
[ DIR ]
drwxr-xr-x
Monitoring
[ DIR ]
drwxr-xr-x
Monkey
[ DIR ]
drwxr-xr-x
MooseX
[ DIR ]
drwxr-xr-x
MouseX
[ DIR ]
drwxr-xr-x
Mozilla
[ DIR ]
drwxr-xr-x
Nagios
[ DIR ]
drwxr-xr-x
Net
[ DIR ]
drwxr-xr-x
NetPacket
[ DIR ]
drwxr-xr-x
Nmap
[ DIR ]
drwxr-xr-x
No
[ DIR ]
drwxr-xr-x
Number
[ DIR ]
drwxr-xr-x
OLE
[ DIR ]
drwxr-xr-x
Object
[ DIR ]
drwxr-xr-x
Ocsinventory
[ DIR ]
drwxr-xr-x
PAR
[ DIR ]
drwxr-xr-x
PCP
[ DIR ]
drwxr-xr-x
PDF
[ DIR ]
drwxr-xr-x
PHP
[ DIR ]
drwxr-xr-x
POD2
[ DIR ]
drwxr-xr-x
POE
[ DIR ]
drwxr-xr-x
PPI
[ DIR ]
drwxr-xr-x
PPIx
[ DIR ]
drwxr-xr-x
PSGI
[ DIR ]
drwxr-xr-x
Package
[ DIR ]
drwxr-xr-x
Parallel
[ DIR ]
drwxr-xr-x
Params
[ DIR ]
drwxr-xr-x
Parse
[ DIR ]
drwxr-xr-x
Path
[ DIR ]
drwxr-xr-x
Perl
[ DIR ]
drwxr-xr-x
Perl4
[ DIR ]
drwxr-xr-x
Perl6
[ DIR ]
drwxr-xr-x
PerlIO
[ DIR ]
drwxr-xr-x
Plack
[ DIR ]
drwxr-xr-x
Pod
[ DIR ]
drwxr-xr-x
Probe
[ DIR ]
drwxr-xr-x
Proc
[ DIR ]
drwxr-xr-x
Protocol
[ DIR ]
drwxr-xr-x
REST
[ DIR ]
drwxr-xr-x
RPC
[ DIR ]
drwxr-xr-x
Razor2
[ DIR ]
drwxr-xr-x
Redis
[ DIR ]
drwxr-xr-x
Ref
[ DIR ]
drwxr-xr-x
Regexp
[ DIR ]
drwxr-xr-x
Return
[ DIR ]
drwxr-xr-x
Role
[ DIR ]
drwxr-xr-x
Rose
[ DIR ]
drwxr-xr-x
SGMLS
[ DIR ]
drwxr-xr-x
SNMP
[ DIR ]
drwxr-xr-x
SOAP
[ DIR ]
drwxr-xr-x
SQL
[ DIR ]
drwxr-xr-x
Safe
[ DIR ]
drwxr-xr-x
Scalar
[ DIR ]
drwxr-xr-x
Schedule
[ DIR ]
drwxr-xr-x
Scope
[ DIR ]
drwxr-xr-x
Set
[ DIR ]
drwxr-xr-x
Shared
[ DIR ]
drwxr-xr-x
Software
[ DIR ]
drwxr-xr-x
Sort
[ DIR ]
drwxr-xr-x
Spiffy
[ DIR ]
drwxr-xr-x
Spreadsheet
[ DIR ]
drwxr-xr-x
StackTrace
[ DIR ]
drwxr-xr-x
Statistics
[ DIR ]
drwxr-xr-x
Stone
[ DIR ]
drwxr-xr-x
String
[ DIR ]
drwxr-xr-x
Sub
[ DIR ]
drwxr-xr-x
Swatch
[ DIR ]
drwxr-xr-x
Symbol
[ DIR ]
drwxr-xr-x
Syntax
[ DIR ]
drwxr-xr-x
Sys
[ DIR ]
drwxr-xr-x
Sysadm
[ DIR ]
drwxr-xr-x
TAP
[ DIR ]
drwxr-xr-x
Tangerine
[ DIR ]
drwxr-xr-x
Task
[ DIR ]
drwxr-xr-x
TeX
[ DIR ]
drwxr-xr-x
Template
[ DIR ]
drwxr-xr-x
Term
[ DIR ]
drwxr-xr-x
Test
[ DIR ]
drwxr-xr-x
Test2
[ DIR ]
drwxr-xr-x
Text
[ DIR ]
drwxr-xr-x
Thread
[ DIR ]
drwxr-xr-x
Thrift
[ DIR ]
drwxr-xr-x
Throwable
[ DIR ]
drwxr-xr-x
Tie
[ DIR ]
drwxr-xr-x
Time
[ DIR ]
drwxr-xr-x
Tk
[ DIR ]
drwxr-xr-x
Tree
[ DIR ]
drwxr-xr-x
Try
[ DIR ]
drwxr-xr-x
Types
[ DIR ]
drwxr-xr-x
UNIVERSAL
[ DIR ]
drwxr-xr-x
URI
[ DIR ]
drwxr-xr-x
Unicode
[ DIR ]
drwxr-xr-x
User
[ DIR ]
drwxr-xr-x
VM
[ DIR ]
drwxr-xr-x
Version
[ DIR ]
drwxr-xr-x
WWW
[ DIR ]
drwxr-xr-x
WebService
[ DIR ]
drwxr-xr-x
X10
[ DIR ]
drwxr-xr-x
X11
[ DIR ]
drwxr-xr-x
X2Go
[ DIR ]
drwxr-xr-x
XBase
[ DIR ]
drwxr-xr-x
XML
[ DIR ]
drwxr-xr-x
XMLRPC
[ DIR ]
drwxr-xr-x
YAML
[ DIR ]
drwxr-xr-x
ZMQ
[ DIR ]
drwxr-xr-x
auto
[ DIR ]
drwxr-xr-x
autobox
[ DIR ]
drwxr-xr-x
autodie
[ DIR ]
drwxr-xr-x
common
[ DIR ]
drwxr-xr-x
constant
[ DIR ]
drwxr-xr-x
inc
[ DIR ]
drwxr-xr-x
lib
[ DIR ]
drwxr-xr-x
local
[ DIR ]
drwxr-xr-x
namespace
[ DIR ]
drwxr-xr-x
odern
[ DIR ]
drwxr-xr-x
perl5i
[ DIR ]
drwxr-xr-x
utf8
[ DIR ]
drwxr-xr-x
AppConfig.pm
31.75
KB
-rw-r--r--
AuthCAS.pm
16.91
KB
-rw-r--r--
BER.pm
27.14
KB
-rw-r--r--
Boulder.pod
6.23
KB
-rw-r--r--
CGI.pm
255.24
KB
-rw-r--r--
CHI.pm
46.06
KB
-rw-r--r--
CLASS.pm
1.44
KB
-rw-r--r--
CPANPLUS.pm
7.05
KB
-rw-r--r--
Carp.pm
19.93
KB
-rw-r--r--
Child.pm
6.31
KB
-rw-r--r--
Clipboard.pm
6.09
KB
-rw-r--r--
Collectd.pm
12.61
KB
-r--r--r--
Digest.pm
10.35
KB
-rw-r--r--
Env.pm
5.39
KB
-rw-r--r--
Error.pm
24.27
KB
-rw-r--r--
Expect.pm
53.44
KB
-rw-r--r--
Expect.pod
42.71
KB
-rw-r--r--
Exporter.pm
18.31
KB
-rw-r--r--
Fatal.pm
45.16
KB
-rw-r--r--
Fennec.pm
32.31
KB
-rw-r--r--
FreezeThaw.pm
24.68
KB
-rw-r--r--
Fsdb.pm
91.97
KB
-rw-r--r--
Git.pm
42.55
KB
-r--r--r--
GraphViz.pm
37.08
KB
-rw-r--r--
Gtk3.pm
68.19
KB
-rw-r--r--
Heap.pm
3.8
KB
-rw-r--r--
Inline-API.pod
12.79
KB
-rw-r--r--
Inline-FAQ.pod
6.83
KB
-rw-r--r--
Inline-Support.pod
3.36
KB
-rw-r--r--
Inline.pm
57.2
KB
-rw-r--r--
Inline.pod
38.48
KB
-rw-r--r--
JSON.pm
67.04
KB
-rw-r--r--
Jcode.pm
22.57
KB
-rw-r--r--
LW.pm
8.13
KB
-rw-r--r--
LW2.pm
191.49
KB
-rw-r--r--
MCE.pm
65.36
KB
-rw-r--r--
MCE.pod
7.62
KB
-rw-r--r--
MLDBM.pm
16.21
KB
-rw-r--r--
Mo.pm
560
B
-rw-r--r--
Mo.pod
3.33
KB
-rw-r--r--
Mojo.pm
1.62
KB
-rw-r--r--
Mojolicious.pm
27.54
KB
-rw-r--r--
Monotone.pm
5.4
KB
-rw-r--r--
NetPacket.pm
4.97
KB
-rw-r--r--
PAR.pm
40.11
KB
-rw-r--r--
POE.pm
26.06
KB
-rw-r--r--
PPI.pm
30.58
KB
-rw-r--r--
PSGI.pm
41
B
-rw-r--r--
PSGI.pod
20.21
KB
-rw-r--r--
ReadMe.pod
3.33
KB
-rw-r--r--
Readonly.pm
21.94
KB
-rw-r--r--
Redis.pm
64.92
KB
-rw-r--r--
SGMLS.pm
26.18
KB
-rw-r--r--
SNMP_Session.pm
34.54
KB
-rw-r--r--
SNMP_util.pm
40.27
KB
-rw-r--r--
SUPER.pm
6.63
KB
-rw-r--r--
Sereal.pm
5.29
KB
-rw-r--r--
Spiffy.pm
32.31
KB
-rw-r--r--
Spiffy.pod
17.43
KB
-rw-r--r--
Stone.pm
30.88
KB
-rw-r--r--
Switch.pm
27.79
KB
-rw-r--r--
Tangerine.pm
6.84
KB
-rw-r--r--
Test2.pm
4.03
KB
-rw-r--r--
Thrift.pm
4.1
KB
-r--r--r--
Throwable.pm
1.77
KB
-rw-r--r--
User.pm
2.47
KB
-rw-r--r--
X10.pm
5.18
KB
-rw-r--r--
XBase.pm
39.44
KB
-rw-r--r--
YAML.pm
24.29
KB
-rw-r--r--
abbrev.pl
819
B
-rw-r--r--
aliased.pm
9.39
KB
-rw-r--r--
asa.pm
5.29
KB
-rw-r--r--
assert.pl
1.27
KB
-rw-r--r--
autodie.pm
11.83
KB
-rw-r--r--
bigfloat.pl
7.14
KB
-rw-r--r--
bigint.pl
8.71
KB
-rw-r--r--
bigrat.pl
4.35
KB
-rw-r--r--
boolean.pm
5.75
KB
-rw-r--r--
cacheout.pl
1.1
KB
-rw-r--r--
chat2.pl
9.73
KB
-rw-r--r--
complete.pl
3.12
KB
-rw-r--r--
constant.pm
13.04
KB
-rw-r--r--
cpanfile-faq.pod
4.39
KB
-rw-r--r--
cpanfile.pod
3.39
KB
-rw-r--r--
ctime.pl
1.93
KB
-rw-r--r--
dotsh.pl
2.12
KB
-rw-r--r--
enum.pm
10.63
KB
-rw-r--r--
exceptions.pl
1.7
KB
-rw-r--r--
experimental.pm
6.83
KB
-rw-r--r--
fastcwd.pl
1019
B
-rw-r--r--
find.pl
1.16
KB
-rw-r--r--
finddepth.pl
1.1
KB
-rw-r--r--
flush.pl
642
B
-rw-r--r--
ftp.pl
23.53
KB
-rw-r--r--
getcwd.pl
1.37
KB
-rw-r--r--
getopt.pl
1.27
KB
-rw-r--r--
getopts.pl
1.35
KB
-rw-r--r--
hostname.pl
727
B
-rw-r--r--
importenv.pl
283
B
-rw-r--r--
look.pl
1.23
KB
-rw-r--r--
newgetopt.pl
2.15
KB
-rw-r--r--
ojo.pm
6.81
KB
-rw-r--r--
ok.pm
946
B
-rw-r--r--
open2.pl
185
B
-rw-r--r--
open3.pl
185
B
-rw-r--r--
parent.pm
2.83
KB
-rw-r--r--
perl5i.pm
32.97
KB
-rw-r--r--
perl5ifaq.pod
14.01
KB
-rw-r--r--
perldoc.pod
8.25
KB
-rw-r--r--
pmtools.pm
2.4
KB
-rw-r--r--
pp.pm
20.05
KB
-rw-r--r--
prefork.pm
10.17
KB
-rw-r--r--
pwd.pl
1.44
KB
-rw-r--r--
shellwords.pl
280
B
-rw-r--r--
skel.pl
4.74
KB
-rw-r--r--
stat.pl
525
B
-rw-r--r--
syslog.pl
4.69
KB
-rw-r--r--
tainted.pl
164
B
-rw-r--r--
termcap.pl
4.02
KB
-rw-r--r--
timelocal.pl
690
B
-rw-r--r--
ttfmod.pl
6.62
KB
-rw-r--r--
validate.pl
3.64
KB
-rw-r--r--
yui.pm
132.76
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Env.pm
package Env; our $VERSION = '1.04'; =head1 NAME Env - perl module that imports environment variables as scalars or arrays =head1 SYNOPSIS use Env; use Env qw(PATH HOME TERM); use Env qw($SHELL @LD_LIBRARY_PATH); =head1 DESCRIPTION Perl maintains environment variables in a special hash named C<%ENV>. For when this access method is inconvenient, the Perl module C<Env> allows environment variables to be treated as scalar or array variables. The C<Env::import()> function ties environment variables with suitable names to global Perl variables with the same names. By default it ties all existing environment variables (C<keys %ENV>) to scalars. If the C<import> function receives arguments, it takes them to be a list of variables to tie; it's okay if they don't yet exist. The scalar type prefix '$' is inferred for any element of this list not prefixed by '$' or '@'. Arrays are implemented in terms of C<split> and C<join>, using C<$Config::Config{path_sep}> as the delimiter. After an environment variable is tied, merely use it like a normal variable. You may access its value @path = split(/:/, $PATH); print join("\n", @LD_LIBRARY_PATH), "\n"; or modify it $PATH .= ":."; push @LD_LIBRARY_PATH, $dir; however you'd like. Bear in mind, however, that each access to a tied array variable requires splitting the environment variable's string anew. The code: use Env qw(@PATH); push @PATH, '.'; is equivalent to: use Env qw(PATH); $PATH .= ":."; except that if C<$ENV{PATH}> started out empty, the second approach leaves it with the (odd) value "C<:.>", but the first approach leaves it with "C<.>". To remove a tied environment variable from the environment, assign it the undefined value undef $PATH; undef @LD_LIBRARY_PATH; =head1 LIMITATIONS On VMS systems, arrays tied to environment variables are read-only. Attempting to change anything will cause a warning. =head1 AUTHOR Chip Salzenberg E<lt>F<chip@fin.uucp>E<gt> and Gregor N. Purdy E<lt>F<gregor@focusresearch.com>E<gt> =cut sub import { my ($callpack) = caller(0); my $pack = shift; my @vars = grep /^[\$\@]?[A-Za-z_]\w*$/, (@_ ? @_ : keys(%ENV)); return unless @vars; @vars = map { m/^[\$\@]/ ? $_ : '$'.$_ } @vars; eval "package $callpack; use vars qw(" . join(' ', @vars) . ")"; die $@ if $@; foreach (@vars) { my ($type, $name) = m/^([\$\@])(.*)$/; if ($type eq '$') { tie ${"${callpack}::$name"}, Env, $name; } else { if ($^O eq 'VMS') { tie @{"${callpack}::$name"}, Env::Array::VMS, $name; } else { tie @{"${callpack}::$name"}, Env::Array, $name; } } } } sub TIESCALAR { bless \($_[1]); } sub FETCH { my ($self) = @_; $ENV{$$self}; } sub STORE { my ($self, $value) = @_; if (defined($value)) { $ENV{$$self} = $value; } else { delete $ENV{$$self}; } } ###################################################################### package Env::Array; use Config; use Tie::Array; @ISA = qw(Tie::Array); my $sep = $Config::Config{path_sep}; sub TIEARRAY { bless \($_[1]); } sub FETCHSIZE { my ($self) = @_; return 1 + scalar(() = $ENV{$$self} =~ /\Q$sep\E/g); } sub STORESIZE { my ($self, $size) = @_; my @temp = split($sep, $ENV{$$self}); $#temp = $size - 1; $ENV{$$self} = join($sep, @temp); } sub CLEAR { my ($self) = @_; $ENV{$$self} = ''; } sub FETCH { my ($self, $index) = @_; return (split($sep, $ENV{$$self}))[$index]; } sub STORE { my ($self, $index, $value) = @_; my @temp = split($sep, $ENV{$$self}); $temp[$index] = $value; $ENV{$$self} = join($sep, @temp); return $value; } sub EXISTS { my ($self, $index) = @_; return $index < $self->FETCHSIZE; } sub DELETE { my ($self, $index) = @_; my @temp = split($sep, $ENV{$$self}); my $value = splice(@temp, $index, 1, ()); $ENV{$$self} = join($sep, @temp); return $value; } sub PUSH { my $self = shift; my @temp = split($sep, $ENV{$$self}); push @temp, @_; $ENV{$$self} = join($sep, @temp); return scalar(@temp); } sub POP { my ($self) = @_; my @temp = split($sep, $ENV{$$self}); my $result = pop @temp; $ENV{$$self} = join($sep, @temp); return $result; } sub UNSHIFT { my $self = shift; my @temp = split($sep, $ENV{$$self}); my $result = unshift @temp, @_; $ENV{$$self} = join($sep, @temp); return $result; } sub SHIFT { my ($self) = @_; my @temp = split($sep, $ENV{$$self}); my $result = shift @temp; $ENV{$$self} = join($sep, @temp); return $result; } sub SPLICE { my $self = shift; my $offset = shift; my $length = shift; my @temp = split($sep, $ENV{$$self}); if (wantarray) { my @result = splice @temp, $offset, $length, @_; $ENV{$$self} = join($sep, @temp); return @result; } else { my $result = scalar splice @temp, $offset, $length, @_; $ENV{$$self} = join($sep, @temp); return $result; } } ###################################################################### package Env::Array::VMS; use Tie::Array; @ISA = qw(Tie::Array); sub TIEARRAY { bless \($_[1]); } sub FETCHSIZE { my ($self) = @_; my $i = 0; while ($i < 127 and defined $ENV{$$self . ';' . $i}) { $i++; }; return $i; } sub FETCH { my ($self, $index) = @_; return $ENV{$$self . ';' . $index}; } sub EXISTS { my ($self, $index) = @_; return $index < $self->FETCHSIZE; } sub DELETE { } 1;
Close