<(common.inc.plp)><: Html({ title => 'perl version cheat sheet', version => '1.1', keywords => [qw' perl version feature features comparison sheet cheat overview summary '], stylesheet => [qw'light dark red'], data => ['perl.inc.pl'], }); :>

Perl release summary

The most significant features introduced for recent versions of the Perl scripting language. Depending on desired compatibility you'll want to support a minimum of v5.8 or v5.14.

<: my $info = do 'perl.inc.pl' or die $@ // $!; for my $vernum (reverse sort keys %{$info}) { my $verrow = $info->{$vernum}; $verrow->{unstable} and next unless exists $get{v}; print '
'."\n"; printf '

%vd %s

'."\n", $vernum, $verrow->{release}; for (@{ $verrow->{new} }) { my ($topic, $desc, $attr) = @{$_}; if ($attr) { my $title; if (defined $attr->{experimental}) { $title = 'experimental'; } if ($attr->{dropped}) { next unless exists $get{v}; $title = sprintf 'removed in %vd', $attr->{dropped}; } elsif ($attr->{stable}) { $title .= sprintf ' until %vd', $attr->{stable}; } if ($attr->{experimental}) { $title = sprintf '%s', $attr->{experimental}, $title; } if ($attr->{feature}) { $title = sprintf('feature', $attr->{feature}) . (defined $title && ", $title"); } $desc .= sprintf ' (%s)', $title; } printf '
%s
%s'."\n", $topic, $desc || '
'; } printf '
Unicode
v%s'."\n", $_ for $verrow->{unicode} || (); print "
\n"; print "
\n\n"; }