/
usr
/
share
/
perl
/
5.38.2
/
/usr/share/perl/5.38.2
mkdir
upload
Name
Size
Mode
Actions
App/
-
0755
rm
Archive/
-
0755
rm
Attribute/
-
0755
rm
autodie/
-
0755
rm
B/
-
0755
rm
Carp/
-
0755
rm
Class/
-
0755
rm
Compress/
-
0755
rm
Config/
-
0755
rm
CPAN/
-
0755
rm
DBM_Filter/
-
0755
rm
Devel/
-
0755
rm
Digest/
-
0755
rm
Encode/
-
0755
rm
encoding/
-
0755
rm
Exporter/
-
0755
rm
ExtUtils/
-
0755
rm
File/
-
0755
rm
Filter/
-
0755
rm
Getopt/
-
0755
rm
HTTP/
-
0755
rm
I18N/
-
0755
rm
IO/
-
0755
rm
IPC/
-
0755
rm
JSON/
-
0755
rm
Locale/
-
0755
rm
Math/
-
0755
rm
Memoize/
-
0755
rm
Module/
-
0755
rm
Net/
-
0755
rm
overload/
-
0755
rm
Params/
-
0755
rm
Parse/
-
0755
rm
Perl/
-
0755
rm
PerlIO/
-
0755
rm
pod/
-
0755
rm
Pod/
-
0755
rm
Search/
-
0755
rm
TAP/
-
0755
rm
Term/
-
0755
rm
Test/
-
0755
rm
Test2/
-
0755
rm
Text/
-
0755
rm
Thread/
-
0755
rm
Tie/
-
0755
rm
Time/
-
0755
rm
Unicode/
-
0755
rm
unicore/
-
0755
rm
User/
-
0755
rm
version/
-
0755
rm
warnings/
-
0755
rm
AnyDBM_File.pm
2618
0644
edit
dl
rm
autodie.pm
12436
0644
edit
dl
rm
AutoLoader.pm
15797
0644
edit
dl
rm
AutoSplit.pm
19637
0644
edit
dl
rm
autouse.pm
4238
0644
edit
dl
rm
base.pm
10961
0644
edit
dl
rm
Benchmark.pm
31023
0644
edit
dl
rm
bigfloat.pm
21968
0644
edit
dl
rm
bigint.pm
23247
0644
edit
dl
rm
bignum.pm
28217
0644
edit
dl
rm
bigrat.pm
21134
0644
edit
dl
rm
blib.pm
2062
0644
edit
dl
rm
builtin.pm
10392
0644
edit
dl
rm
bytes.pm
3782
0644
edit
dl
rm
bytes_heavy.pl
758
0644
edit
dl
rm
Carp.pm
35994
0644
edit
dl
rm
charnames.pm
21049
0644
edit
dl
rm
constant.pm
14724
0644
edit
dl
rm
CORE.pod
3188
0644
edit
dl
rm
CPAN.pm
147971
0644
edit
dl
rm
DB.pm
18922
0644
edit
dl
rm
DBM_Filter.pm
14385
0644
edit
dl
rm
deprecate.pm
5036
0644
edit
dl
rm
diagnostics.pm
19334
0644
edit
dl
rm
Digest.pm
11225
0644
edit
dl
rm
DirHandle.pm
2085
0644
edit
dl
rm
Dumpvalue.pm
17668
0644
edit
dl
rm
dumpvar.pl
15555
0644
edit
dl
rm
English.pm
4761
0644
edit
dl
rm
Env.pm
5569
0644
edit
dl
rm
experimental.pm
8930
0644
edit
dl
rm
Exporter.pm
19212
0644
edit
dl
rm
Fatal.pm
59236
0644
edit
dl
rm
feature.pm
54597
0644
edit
dl
rm
fields.pm
9475
0644
edit
dl
rm
FileCache.pm
5549
0644
edit
dl
rm
FileHandle.pm
6805
0644
edit
dl
rm
filetest.pm
4003
0644
edit
dl
rm
FindBin.pm
4616
0644
edit
dl
rm
if.pm
3631
0644
edit
dl
rm
integer.pm
3254
0644
edit
dl
rm
Internals.pod
2575
0644
edit
dl
rm
less.pm
3204
0644
edit
dl
rm
locale.pm
4885
0644
edit
dl
rm
Memoize.pm
32586
0644
edit
dl
rm
meta_notation.pm
2069
0644
edit
dl
rm
NEXT.pm
18982
0644
edit
dl
rm
ok.pm
967
0644
edit
dl
rm
open.pm
8498
0644
edit
dl
rm
overload.pm
54723
0644
edit
dl
rm
overloading.pm
1808
0644
edit
dl
rm
parent.pm
2702
0644
edit
dl
rm
perl5db.pl
317570
0644
edit
dl
rm
perlfaq.pm
77
0644
edit
dl
rm
PerlIO.pm
14259
0644
edit
dl
rm
Safe.pm
25352
0644
edit
dl
rm
SelectSaver.pm
1076
0644
edit
dl
rm
SelfLoader.pm
17686
0644
edit
dl
rm
sigtrap.pm
8733
0644
edit
dl
rm
sort.pm
2992
0644
edit
dl
rm
stable.pm
4657
0644
edit
dl
rm
strict.pm
4783
0644
edit
dl
rm
subs.pm
945
0644
edit
dl
rm
Symbol.pm
4905
0644
edit
dl
rm
Test.pm
30042
0644
edit
dl
rm
Test2.pm
6393
0644
edit
dl
rm
Thread.pm
8289
0644
edit
dl
rm
UNIVERSAL.pm
6834
0644
edit
dl
rm
utf8.pm
10888
0644
edit
dl
rm
vars.pm
2458
0644
edit
dl
rm
version.pm
1976
0644
edit
dl
rm
version.pod
9832
0644
edit
dl
rm
vmsish.pm
4313
0644
edit
dl
rm
warnings.pm
57069
0644
edit
dl
rm
XSLoader.pm
11399
0644
edit
dl
rm
_charnames.pm
35679
0644
edit
dl
rm
Edit:
/usr/share/perl/5.38.2/stable.pm
(4657B)
package stable; $stable::VERSION = '0.031'; use strict; use warnings; use version (); use experimental (); use Carp qw/croak carp/; my %allow_at = ( bitwise => 5.022000, isa => 5.032000, lexical_subs => 5.022000, postderef => 5.020000, ); sub import { my ($self, @pragmas) = @_; for my $pragma (@pragmas) { my $min_ver = $allow_at{$pragma}; croak "unknown stablized experiment $pragma" unless defined $min_ver; croak "requested stablized experiment $pragma, which is stable at $min_ver but this is $]" unless $] >= $min_ver; } experimental->import(@pragmas); return; } sub unimport { my ($self, @pragmas) = @_; # Look, we could say "You can't unimport stable experiment 'bitwise' on # 5.20" but it just seems weird. -- rjbs, 2022-03-05 experimental->unimport(@pragmas); return; } 1; #ABSTRACT: Experimental features made easy, once we know they're stable __END__ =pod =encoding UTF-8 =head1 NAME stable - Experimental features made easy, once we know they're stable =head1 VERSION version 0.031 =head1 SYNOPSIS use stable 'lexical_subs', 'bitwise'; my sub is_odd($value) { $value & 1 } =head1 DESCRIPTION The L<experimental> pragma makes it easy to turn on experimental while turning off associated warnings. You should read about it, if you don't already know what it does. Seeing C<use experimental> in code might be scary. In fact, it probably should be! Code that uses experimental features might break in the future if the perl development team decides that the experiment needs to be altered. When experiments become stable, because the developers decide they're a success, the warnings associated with them go away. When that happens, they can generally be turned on with C<use feature>. This is great, if you are using a version of perl where the feature you want is already stable. If you're using an older perl, though, it might be the case that you want to use an experimental feature that still warns, even though there's no risk in using it, because subsequent versions of perl have that feature unchanged and now stable. Here's an example: The C<postderef> feature was added in perl 5.20.0. In perl 5.24.0, it was marked stable. Using it would no longer trigger a warning. The behavior of the feature didn't change between 5.20.0 and 5.24.0. That means that it's perfectly safe to use the feature on 5.20 or 5.22, even though there's a warning. In that case, you could very justifiably add C<use experimental 'postderef'> but the casual reader may still be worried at seeing that. The C<stable> pragma exists to turn on experimental features only when it's known that their behavior in the running perl is their stable behavior. If you try to use an experimental feature that isn't stable or available on the running version of perl, an exception will be thrown. You should also take care that you've required the version of C<stable> that you need! If it's not immediately obvious why, here's a bit of explanation: =over 4 =item * C<stable> comes with perl, starting with perl v5.38. =item * Imagine that v5.38 adds a feature called "florps". It will stop being experimental in v5.42. =item * The version of C<stable> that comes with perl v5.38 can't know that the I<florps> experiment will succeed, so you can't C<use stable 'florps'> on the version of stable ships with v5.38, because it can't see the future! =item * You'll need to write C<use stable 1.234 'florps'> to say that you need version 1.234 of stable, which is when I<florps> became known to stable. =back Sure, it's a little weird, but it's worth it! The documentation of this pragma will tell you what version of C<stable> you need to require in order to use various features. See below. At present there are only a few "stable" features: =over 4 =item * C<bitwise> - stable as of perl 5.22, available via stable 0.031 =item * C<isa> - stable as of perl 5.32, available via stable 0.031 =item * C<lexical_subs> - stable as of perl 5.22, available via stable 0.031 Lexical subroutines were actually added in 5.18, and their design did not change, but significant bugs makes them unsafe to use before 5.22. =item * C<postderef> - stable as of perl 5.20, available via stable 0.031 =back =head1 SEE ALSO L<perlexperiment|perlexperiment> contains more information about experimental features. =head1 AUTHOR Leon Timmermans <leont@cpan.org> =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Leon Timmermans. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut
Save
cmd:
run