X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/7d20f0f1160c15c1b52ba92dc86441766040c6ec..e302f773d94ea2f2e4a0ce237be454272f4a982b:/perl.plp diff --git a/perl.plp b/perl.plp index de4637d..1f5cfe7 100644 --- a/perl.plp +++ b/perl.plp @@ -91,9 +91,9 @@ for my $vernum (reverse sort keys %{$info}) { } if (my $mods = $verrow->{modules}) { for (@{$mods}) { - my ($name, $desc, $eg) = @{$_}; + my ($name, $desc, $attr) = @{$_}; my $ref = lc $name =~ s/::/_/gr; - $desc .= sprintf ' {%s}', Entity($_) for $eg // (); + $desc .= featattrs($attr); printf '
use %s', $ref, $name; say '
', $desc; } @@ -104,13 +104,15 @@ for my $vernum (reverse sort keys %{$info}) { } sub featattrs ($attr) { + $attr or return ''; + ref $attr or $attr = {eg => $attr}; my $title; if (defined $attr->{experimental}) { $title = 'experimental'; } - if ($attr->{dropped}) { + if (defined $attr->{dropped}) { next unless exists $get{v}; - $title = sprintf 'removed in %vd', $attr->{dropped}; + $title = sprintf 'removed in %vd', $_ for $attr->{dropped} || (); } elsif ($attr->{stable}) { $title .= sprintf ' until %vd', $attr->{stable}; @@ -126,6 +128,11 @@ sub featattrs ($attr) { $title = join ', ', $prefix, $title // (); $attr->{name} //= $attr->{feature}; } - return sprintf ' (%s)', $title if $title; - return ''; + $title = $title ? sprintf ' (%s)', $title : ''; + + if (my $eg = $attr->{eg}) { + my $pre = sprintf ' {%s}', Entity($eg); + $title = $pre . $title; + } + return $title; }