Hackfut Security File Manager
Current Path:
/usr/share/perl5
usr
/
share
/
perl5
/
📁
..
📄
AnyDBM_File.pm
(2.53 KB)
📁
App
📁
Archive
📁
Attribute
📄
AutoLoader.pm
(14.65 KB)
📄
AutoSplit.pm
(19.18 KB)
📁
B
📄
Benchmark.pm
(27.86 KB)
📁
CGI
📄
CGI.pm
(255.35 KB)
📄
CORE.pod
(1.53 KB)
📁
CPAN
📄
CPAN.pm
(144.4 KB)
📁
CPANPLUS
📄
CPANPLUS.pm
(7.1 KB)
📁
Carp
📄
Carp.pm
(7.43 KB)
📁
Class
📁
Config
📄
DB.pm
(18.75 KB)
📁
DBM_Filter
📄
DBM_Filter.pm
(14.08 KB)
📁
Date
📁
Devel
📁
Digest
📄
Digest.pm
(10.17 KB)
📄
DirHandle.pm
(1.89 KB)
📄
Dumpvalue.pm
(16.5 KB)
📁
Encode
📄
English.pm
(4.38 KB)
📄
Env.pm
(5.05 KB)
📄
Expect.pm
(53.44 KB)
📄
Expect.pod
(42.71 KB)
📁
Exporter
📄
Exporter.pm
(18.16 KB)
📁
ExtUtils
📄
Fatal.pm
(40.01 KB)
📁
File
📄
FileCache.pm
(5.44 KB)
📄
FileHandle.pm
(6.62 KB)
📁
Filter
📄
FindBin.pm
(5.53 KB)
📁
Getopt
📁
I18N
📁
IO
📁
IPC
📁
JSON
📁
Locale
📁
Log
📁
Math
📁
Memoize
📄
Memoize.pm
(34.47 KB)
📁
Module
📄
NEXT.pm
(18.05 KB)
📁
Net
📁
Object
📁
Package
📁
Params
📁
Parse
📁
PerlIO
📄
PerlIO.pm
(10.86 KB)
📁
Pod
📄
Safe.pm
(23.76 KB)
📁
Search
📄
SelectSaver.pm
(1.05 KB)
📄
SelfLoader.pm
(16.93 KB)
📄
Shell.pm
(8.48 KB)
📄
Switch.pm
(27.84 KB)
📄
Symbol.pm
(4.68 KB)
📁
TAP
📁
Term
📁
Test
📄
Test.pm
(28.13 KB)
📁
Test2
📄
Test2.pm
(6.24 KB)
📁
Text
📁
Thread
📄
Thread.pm
(8.09 KB)
📁
Tie
📁
Time
📄
UNIVERSAL.pm
(6.38 KB)
📁
Unicode
📁
User
📄
abbrev.pl
(838 B)
📄
assert.pl
(1.27 KB)
📄
attributes.pm
(14.53 KB)
📁
autodie
📄
autodie.pm
(11.49 KB)
📄
autouse.pm
(4.14 KB)
📄
base.pm
(6.82 KB)
📄
bigfloat.pl
(7.2 KB)
📄
bigint.pl
(8.75 KB)
📄
bigint.pm
(17.43 KB)
📄
bignum.pm
(18.24 KB)
📄
bigrat.pl
(4.37 KB)
📄
bigrat.pm
(14.1 KB)
📄
blib.pm
(2.06 KB)
📄
bytes.pm
(2.33 KB)
📄
bytes_heavy.pl
(758 B)
📄
cacheout.pl
(1.1 KB)
📄
charnames.pm
(15.3 KB)
📄
complete.pl
(3.12 KB)
📄
constant.pm
(12.23 KB)
📄
ctime.pl
(1.95 KB)
📄
diagnostics.pm
(16.97 KB)
📄
dotsh.pl
(2.12 KB)
📄
dumpvar.pl
(14.92 KB)
📁
encoding
📄
exceptions.pl
(1.7 KB)
📄
fastcwd.pl
(1019 B)
📄
feature.pm
(4.97 KB)
📄
fields.pm
(9.28 KB)
📄
filetest.pm
(3.91 KB)
📄
find.pl
(1.16 KB)
📄
finddepth.pl
(1.1 KB)
📄
flush.pl
(642 B)
📄
getcwd.pl
(1.39 KB)
📄
getopt.pl
(1.29 KB)
📄
getopts.pl
(1.37 KB)
📄
hostname.pl
(727 B)
📄
if.pm
(1.14 KB)
📄
importenv.pl
(283 B)
📄
integer.pm
(3.19 KB)
📄
less.pm
(3.01 KB)
📄
locale.pm
(820 B)
📄
look.pl
(1.23 KB)
📄
newgetopt.pl
(2.16 KB)
📄
ok.pm
(967 B)
📄
open.pm
(7.56 KB)
📄
open2.pl
(185 B)
📄
open3.pl
(185 B)
📁
overload
📄
overload.pm
(46.92 KB)
📄
overloading.pm
(1.76 KB)
📄
parent.pm
(2.93 KB)
📄
perl5db.pl
(310.24 KB)
📁
pod
📄
pwd.pl
(1.44 KB)
📄
shellwords.pl
(276 B)
📄
sigtrap.pm
(7.43 KB)
📄
sort.pm
(5.95 KB)
📄
stat.pl
(590 B)
📄
strict.pm
(3.63 KB)
📄
subs.pm
(842 B)
📄
syslog.pl
(4.69 KB)
📄
tainted.pl
(164 B)
📄
termcap.pl
(4.02 KB)
📄
timelocal.pl
(690 B)
📁
unicore
📄
utf8.pm
(6.76 KB)
📄
utf8_heavy.pl
(7.81 KB)
📄
validate.pl
(3.64 KB)
📄
vars.pm
(2.3 KB)
📁
vendor_perl
📁
version
📄
vmsish.pm
(4.23 KB)
📁
warnings
📄
warnings.pm
(15.75 KB)
Editing: feature.pm
package feature; our $VERSION = '1.13'; # (feature name) => (internal name, used in %^H) my %feature = ( switch => 'feature_switch', say => "feature_say", state => "feature_state", ); # NB. the latest bundle must be loaded by the -E switch (see toke.c) my %feature_bundle = ( "5.10" => [qw(switch say state)], ### "5.11" => [qw(switch say state)], ); # special case $feature_bundle{"5.9.5"} = $feature_bundle{"5.10"}; # TODO: # - think about versioned features (use feature switch => 2) =head1 NAME feature - Perl pragma to enable new syntactic features =head1 SYNOPSIS use feature qw(switch say); given ($foo) { when (1) { say "\$foo == 1" } when ([2,3]) { say "\$foo == 2 || \$foo == 3" } when (/^a[bc]d$/) { say "\$foo eq 'abd' || \$foo eq 'acd'" } when ($_ > 100) { say "\$foo > 100" } default { say "None of the above" } } use feature ':5.10'; # loads all features available in perl 5.10 =head1 DESCRIPTION It is usually impossible to add new syntax to Perl without breaking some existing programs. This pragma provides a way to minimize that risk. New syntactic constructs can be enabled by C<use feature 'foo'>, and will be parsed only when the appropriate feature pragma is in scope. =head2 Lexical effect Like other pragmas (C<use strict>, for example), features have a lexical effect. C<use feature qw(foo)> will only make the feature "foo" available from that point to the end of the enclosing block. { use feature 'say'; say "say is available here"; } print "But not here.\n"; =head2 C<no feature> Features can also be turned off by using C<no feature "foo">. This too has lexical effect. use feature 'say'; say "say is available here"; { no feature 'say'; print "But not here.\n"; } say "Yet it is here."; C<no feature> with no features specified will turn off all features. =head2 The 'switch' feature C<use feature 'switch'> tells the compiler to enable the Perl 6 given/when construct. See L<perlsyn/"Switch statements"> for details. =head2 The 'say' feature C<use feature 'say'> tells the compiler to enable the Perl 6 C<say> function. See L<perlfunc/say> for details. =head2 the 'state' feature C<use feature 'state'> tells the compiler to enable C<state> variables. See L<perlsub/"Persistent Private Variables"> for details. =head1 FEATURE BUNDLES It's possible to load a whole slew of features in one go, using a I<feature bundle>. The name of a feature bundle is prefixed with a colon, to distinguish it from an actual feature. At present, the only feature bundle is C<use feature ":5.10"> which is equivalent to C<use feature qw(switch say state)>. Specifying sub-versions such as the C<0> in C<5.10.0> in feature bundles has no effect: feature bundles are guaranteed to be the same for all sub-versions. =head1 IMPLICIT LOADING There are two ways to load the C<feature> pragma implicitly : =over 4 =item * By using the C<-E> switch on the command-line instead of C<-e>. It enables all available features in the main compilation unit (that is, the one-liner.) =item * By requiring explicitly a minimal Perl version number for your program, with the C<use VERSION> construct, and when the version is higher than or equal to 5.10.0. That is, use 5.10.0; will do an implicit use feature ':5.10'; and so on. Note how the trailing sub-version is automatically stripped from the version. But to avoid portability warnings (see L<perlfunc/use>), you may prefer: use 5.010; with the same effect. =back =cut sub import { my $class = shift; if (@_ == 0) { croak("No features specified"); } while (@_) { my $name = shift(@_); if (substr($name, 0, 1) eq ":") { my $v = substr($name, 1); if (!exists $feature_bundle{$v}) { $v =~ s/^([0-9]+)\.([0-9]+).[0-9]+$/$1.$2/; if (!exists $feature_bundle{$v}) { unknown_feature_bundle(substr($name, 1)); } } unshift @_, @{$feature_bundle{$v}}; next; } if (!exists $feature{$name}) { unknown_feature($name); } $^H{$feature{$name}} = 1; } } sub unimport { my $class = shift; # A bare C<no feature> should disable *all* features if (!@_) { delete @^H{ values(%feature) }; return; } while (@_) { my $name = shift; if (substr($name, 0, 1) eq ":") { my $v = substr($name, 1); if (!exists $feature_bundle{$v}) { $v =~ s/^([0-9]+)\.([0-9]+).[0-9]+$/$1.$2/; if (!exists $feature_bundle{$v}) { unknown_feature_bundle(substr($name, 1)); } } unshift @_, @{$feature_bundle{$v}}; next; } if (!exists($feature{$name})) { unknown_feature($name); } else { delete $^H{$feature{$name}}; } } } sub unknown_feature { my $feature = shift; croak(sprintf('Feature "%s" is not supported by Perl %vd', $feature, $^V)); } sub unknown_feature_bundle { my $feature = shift; croak(sprintf('Feature bundle "%s" is not supported by Perl %vd', $feature, $^V)); } sub croak { require Carp; Carp::croak(@_); } 1;
Upload File
Create Folder