OXIESEC PANEL
- Current Dir:
/
/
usr
/
share
/
perl
/
5.26.1
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/21/2019 03:49:15 PM
rwxr-xr-x
📄
AnyDBM_File.pm
2.56 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
App
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Archive
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Attribute
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
AutoLoader.pm
5.36 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
AutoSplit.pm
19.18 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
B
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
Benchmark.pm
30.3 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
CORE.pod
3.11 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
CPAN
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
CPAN.pm
138.12 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Carp
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
Carp.pm
19.68 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Class
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Compress
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Config
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
DB.pm
18.48 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
DBM_Filter
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
DBM_Filter.pm
14.05 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Devel
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Digest
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
Digest.pm
10.45 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
DirHandle.pm
1.52 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
Dumpvalue.pm
17.14 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Encode
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
English.pm
4.65 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
Env.pm
5.39 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Exporter
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
Exporter.pm
2.31 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
ExtUtils
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
Fatal.pm
56.91 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
File
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
FileCache.pm
5.44 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
FileHandle.pm
2.06 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Filter
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
FindBin.pm
4.45 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Getopt
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
HTTP
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
I18N
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
IO
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
IPC
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
Internals.pod
2.52 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
JSON
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Locale
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Math
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Memoize
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
Memoize.pm
35.34 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Module
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
NEXT.pm
18.4 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Net
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Params
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Parse
-
10/21/2019 03:49:15 PM
rwxr-xr-x
📁
Perl
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
PerlIO
-
10/21/2019 03:49:15 PM
rwxr-xr-x
📄
PerlIO.pm
10.21 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Pod
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
Safe.pm
24.49 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Search
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
SelectSaver.pm
344 bytes
05/23/2023 05:17:19 PM
rw-r--r--
📄
SelfLoader.pm
17.28 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
Symbol.pm
2.05 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
TAP
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Term
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Test
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
Test.pm
29.35 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Test2
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
Test2.pm
6.24 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Text
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Thread
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
Thread.pm
8.09 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Tie
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
Time
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
UNIVERSAL.pm
6.44 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
Unicode
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📁
User
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
XSLoader.pm
3.83 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
_charnames.pm
32.39 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
autodie
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
autodie.pm
12.58 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
autouse.pm
4.14 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
base.pm
8.72 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
bigint.pm
22.85 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
bignum.pm
20.64 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
bigrat.pm
15.78 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
blib.pm
2.04 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
bytes.pm
447 bytes
05/23/2023 05:17:19 PM
rw-r--r--
📄
bytes_heavy.pl
758 bytes
05/23/2023 05:17:19 PM
rw-r--r--
📄
charnames.pm
20.38 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
constant.pm
5.6 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
deprecate.pm
3.43 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
diagnostics.pm
18.59 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
dumpvar.pl
15.19 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
encoding
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
experimental.pm
5.66 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
feature.pm
4.39 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
fields.pm
4.9 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
filetest.pm
3.91 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
if.pm
3.26 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
integer.pm
172 bytes
05/23/2023 05:17:19 PM
rw-r--r--
📄
less.pm
3.13 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
locale.pm
3.34 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
meta_notation.pm
2.07 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
ok.pm
967 bytes
05/23/2023 05:17:19 PM
rw-r--r--
📄
open.pm
7.83 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
overload
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
overload.pm
4.34 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
overloading.pm
964 bytes
05/23/2023 05:17:19 PM
rw-r--r--
📄
parent.pm
478 bytes
05/23/2023 05:17:19 PM
rw-r--r--
📄
perl5db.pl
309.01 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
perlfaq.pm
78 bytes
05/23/2023 05:17:19 PM
rw-r--r--
📁
pod
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
sigtrap.pm
7.43 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
sort.pm
5.94 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
strict.pm
1.57 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
subs.pm
848 bytes
05/23/2023 05:17:19 PM
rw-r--r--
📁
unicore
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
utf8.pm
342 bytes
05/23/2023 05:17:19 PM
rw-r--r--
📄
utf8_heavy.pl
30.87 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
vars.pm
1.12 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
version
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
version.pm
1.67 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
version.pod
9.63 KB
05/23/2023 05:17:19 PM
rw-r--r--
📄
vmsish.pm
4.21 KB
05/23/2023 05:17:19 PM
rw-r--r--
📁
warnings
-
05/09/2024 07:13:15 AM
rwxr-xr-x
📄
warnings.pm
21.44 KB
05/23/2023 05:17:19 PM
rw-r--r--
Editing: constant.pm
Close
package constant; use 5.008; use strict; use warnings::register; our $VERSION = '1.33'; our %declared; #======================================================================= # Some names are evil choices. my %keywords = map +($_, 1), qw{ BEGIN INIT CHECK END DESTROY AUTOLOAD }; $keywords{UNITCHECK}++ if $] > 5.009; my %forced_into_main = map +($_, 1), qw{ STDIN STDOUT STDERR ARGV ARGVOUT ENV INC SIG }; my %forbidden = (%keywords, %forced_into_main); my $normal_constant_name = qr/^_?[^\W_0-9]\w*\z/; my $tolerable = qr/^[A-Za-z_]\w*\z/; my $boolean = qr/^[01]?\z/; BEGIN { # We'd like to do use constant _CAN_PCS => $] > 5.009002 # but that's a bit tricky before we load the constant module :-) # By doing this, we save several run time checks for *every* call # to import. my $const = $] > 5.009002; my $downgrade = $] < 5.015004; # && $] >= 5.008 my $constarray = exists &_make_const; if ($const) { Internals::SvREADONLY($const, 1); Internals::SvREADONLY($downgrade, 1); $constant::{_CAN_PCS} = \$const; $constant::{_DOWNGRADE} = \$downgrade; $constant::{_CAN_PCS_FOR_ARRAY} = \$constarray; } else { no strict 'refs'; *{"_CAN_PCS"} = sub () {$const}; *{"_DOWNGRADE"} = sub () { $downgrade }; *{"_CAN_PCS_FOR_ARRAY"} = sub () { $constarray }; } } #======================================================================= # import() - import symbols into user's namespace # # What we actually do is define a function in the caller's namespace # which returns the value. The function we create will normally # be inlined as a constant, thereby avoiding further sub calling # overhead. #======================================================================= sub import { my $class = shift; return unless @_; # Ignore 'use constant;' my $constants; my $multiple = ref $_[0]; my $caller = caller; my $flush_mro; my $symtab; if (_CAN_PCS) { no strict 'refs'; $symtab = \%{$caller . '::'}; }; if ( $multiple ) { if (ref $_[0] ne 'HASH') { require Carp; Carp::croak("Invalid reference type '".ref(shift)."' not 'HASH'"); } $constants = shift; } else { unless (defined $_[0]) { require Carp; Carp::croak("Can't use undef as constant name"); } $constants->{+shift} = undef; } foreach my $name ( keys %$constants ) { my $pkg; my $symtab = $symtab; my $orig_name = $name; if ($name =~ s/(.*)(?:::|')(?=.)//s) { $pkg = $1; if (_CAN_PCS && $pkg ne $caller) { no strict 'refs'; $symtab = \%{$pkg . '::'}; } } else { $pkg = $caller; } # Normal constant name if ($name =~ $normal_constant_name and !$forbidden{$name}) { # Everything is okay # Name forced into main, but we're not in main. Fatal. } elsif ($forced_into_main{$name} and $pkg ne 'main') { require Carp; Carp::croak("Constant name '$name' is forced into main::"); # Starts with double underscore. Fatal. } elsif ($name =~ /^__/) { require Carp; Carp::croak("Constant name '$name' begins with '__'"); # Maybe the name is tolerable } elsif ($name =~ $tolerable) { # Then we'll warn only if you've asked for warnings if (warnings::enabled()) { if ($keywords{$name}) { warnings::warn("Constant name '$name' is a Perl keyword"); } elsif ($forced_into_main{$name}) { warnings::warn("Constant name '$name' is " . "forced into package main::"); } } # Looks like a boolean # use constant FRED == fred; } elsif ($name =~ $boolean) { require Carp; if (@_) { Carp::croak("Constant name '$name' is invalid"); } else { Carp::croak("Constant name looks like boolean value"); } } else { # Must have bad characters require Carp; Carp::croak("Constant name '$name' has invalid characters"); } { no strict 'refs'; my $full_name = "${pkg}::$name"; $declared{$full_name}++; if ($multiple || @_ == 1) { my $scalar = $multiple ? $constants->{$orig_name} : $_[0]; if (_DOWNGRADE) { # for 5.8 to 5.14 # Work around perl bug #31991: Sub names (actually glob # names in general) ignore the UTF8 flag. So we have to # turn it off to get the "right" symbol table entry. utf8::is_utf8 $name and utf8::encode $name; } # The constant serves to optimise this entire block out on # 5.8 and earlier. if (_CAN_PCS) { # Use a reference as a proxy for a constant subroutine. # If this is not a glob yet, it saves space. If it is # a glob, we must still create it this way to get the # right internal flags set, as constants are distinct # from subroutines created with sub(){...}. # The check in Perl_ck_rvconst knows that inlinable # constants from cv_const_sv are read only. So we have to: Internals::SvREADONLY($scalar, 1); if (!exists $symtab->{$name}) { $symtab->{$name} = \$scalar; ++$flush_mro->{$pkg}; } else { local $constant::{_dummy} = \$scalar; *$full_name = \&{"_dummy"}; } } else { *$full_name = sub () { $scalar }; } } elsif (@_) { my @list = @_; if (_CAN_PCS_FOR_ARRAY) { _make_const($list[$_]) for 0..$#list; _make_const(@list); if (!exists $symtab->{$name}) { $symtab->{$name} = \@list; $flush_mro->{$pkg}++; } else { local $constant::{_dummy} = \@list; *$full_name = \&{"_dummy"}; } } else { *$full_name = sub () { @list }; } } else { *$full_name = sub () { }; } } } # Flush the cache exactly once if we make any direct symbol table changes. if (_CAN_PCS && $flush_mro) { mro::method_changed_in($_) for keys %$flush_mro; } } 1; __END__