diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/experimental.pm')
-rw-r--r-- | Master/tlpkg/tlperl/lib/experimental.pm | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/Master/tlpkg/tlperl/lib/experimental.pm b/Master/tlpkg/tlperl/lib/experimental.pm index befa409be77..8d747518d19 100644 --- a/Master/tlpkg/tlperl/lib/experimental.pm +++ b/Master/tlpkg/tlperl/lib/experimental.pm @@ -1,5 +1,5 @@ package experimental; -$experimental::VERSION = '0.013'; +$experimental::VERSION = '0.016'; use strict; use warnings; use version (); @@ -20,6 +20,7 @@ my %features = map { $_ => 1 } $] > 5.015006 ? keys %feature::feature : do { my %min_version = ( array_base => '5', autoderef => '5.14.0', + bitwise => '5.22.0', current_sub => '5.16.0', evalbytes => '5.16.0', fc => '5.16.0', @@ -27,7 +28,7 @@ my %min_version = ( lexical_subs => '5.18.0', postderef => '5.20.0', postderef_qq => '5.20.0', - refaliasing => '5.21.5', + refaliasing => '5.22.0', regex_sets => '5.18.0', say => '5.10.0', smartmatch => '5.10.0', @@ -37,7 +38,12 @@ my %min_version = ( unicode_eval => '5.16.0', unicode_strings => '5.12.0', ); +my %max_version = ( + lexical_topic => '5.23.4', +); + $_ = version->new($_) for values %min_version; +$_ = version->new($_) for values %max_version; my %additional = ( postderef => ['postderef_qq'], @@ -58,7 +64,7 @@ sub _enable { elsif (not exists $min_version{$pragma}) { croak "Can't enable unknown feature $pragma"; } - elsif ($min_version{$pragma} > $]) { + elsif ($] < $min_version{$pragma}) { my $stable = $min_version{$pragma}; if ($stable->{version}[1] % 2) { $stable = version->new( @@ -67,6 +73,9 @@ sub _enable { } croak "Need perl $stable or later for feature $pragma"; } + elsif ($] >= ($max_version{$pragma} || 7)) { + croak "Experimental feature $pragma has been removed from perl in version $max_version{$pragma}"; + } } sub import { @@ -119,7 +128,7 @@ experimental - Experimental features made easy =head1 VERSION -version 0.013 +version 0.016 =head1 SYNOPSIS |