X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/1dee8e5f63eb2019ae3492931cd999593b63991d..ae48ceadbe58905cc69e046c2182e5bb83bf305f:/perl.plp?ds=inline diff --git a/perl.plp b/perl.plp index 89b906e..d6dfd9d 100644 --- a/perl.plp +++ b/perl.plp @@ -2,12 +2,12 @@ Html({ title => 'perl version cheat sheet', - version => '1.5', + version => '1.9', keywords => [qw' perl version feature features comparison sheet cheat overview summary '], - stylesheet => [qw'light dark red'], + image => 'data/camels.jpg', data => ['perl.inc.pl'], }); @@ -57,8 +57,9 @@ eval { $info->{$vcore}{versum} //= "official security patches"; # «We encourage vendors to ship the most recent supported release of Perl - # at the time of their code freeze» with debian&ubuntu having 5 years LTS - my $vendoreol = ($now - ONE_YEAR * 5)->strftime('%F'); + # at the time of their code freeze» + # assume debian ships after 1 year, and expires after 5 years LTS + my $vendoreol = ($now - ONE_YEAR * 6)->strftime('%F'); my $vdebian = first { $info->{$_}{release} ge $vendoreol && $info->{$_}{distro}{debian} } @versions; @@ -112,7 +113,8 @@ sub featattrs ($attr) { $title = 'experimental'; } if (defined $attr->{dropped}) { - return '' unless exists $get{v}; + no warnings 'exiting'; + next unless exists $get{v}; # skip containing feature $title = sprintf 'removed in %vd', $_ for $attr->{dropped} || (); } elsif ($attr->{stable}) { @@ -129,6 +131,20 @@ sub featattrs ($attr) { $title = join ', ', $prefix, $title // (); $attr->{name} //= $attr->{feature}; } + if (defined $attr->{bundle}) { + if ($attr->{stable} and !$attr->{bundle}) { + $title .= ' then bundled'; + } + else { + my $v = 'bundled'; + $v .= ' in ' . join(' and ', + # specific version(s) distinct from stable or current + map { sprintf '%vd', $_ } + map { ref eq 'ARRAY' ? @{$_} : $_ } $_ + ) for $attr->{bundle} || (); + $title = join ', ', $title // (), $v; + } + } $title = $title ? sprintf ' (%s)', $title : ''; if (my $eg = $attr->{eg}) {