if ($attr->{experimental}) {
$title = sprintf '<span title="experimental::%s">%s</span>',
$attr->{experimental}, $title;
+ $attr->{name} //= $attr->{experimental};
}
if ($attr->{feature}) {
my $prefix = sprintf '<span title="%s">feature</span>',
$attr->{feature};
$title = join ', ', $prefix, $title // ();
+ $attr->{name} //= $attr->{feature};
}
- $desc .= sprintf ' <em class="ex">(%s)</em>', $title;
+ $desc .= sprintf ' <em class="ex">(%s)</em>', $title if $title;
+ }
+ my $ref = defined $attr->{name} && sprintf ' id="%s"', $attr->{name};
+ say sprintf '<dt%s>%s<dd>%s', $ref, $topic, $desc || '<br/>';
+ }
+ if (my $mods = $verrow->{modules}) {
+ for (@{$mods}) {
+ my ($name, $desc, $eg) = @{$_};
+ my $ref = lc $name =~ s/::/_/gr;
+ $desc .= sprintf ' <small>{<code>%s</code>}</small>', Entity($_) for $eg // ();
+ printf '<dt id="%s"><code>use %s</code>', $ref, $name;
+ say '<dd>', $desc;
}
- say sprintf '<dt>%s<dd>%s', $topic, $desc || '<br/>';
}
say sprintf '<dt>Unicode</dt><dd>v%s', $_ for $verrow->{unicode} || ();
say '</dl>';