X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/7d20f0f1160c15c1b52ba92dc86441766040c6ec..651e4bfa3cc349373e8f9adfd068ff6a6476b153:/perl.plp diff --git a/perl.plp b/perl.plp index de4637d..49694fc 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,6 +104,8 @@ 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'; @@ -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; }