<:
my $table = do $wordlist or die $@ // $!;
sub showimg {
my ($id, $name) = @_;
my ($imgname) = $name =~ m{^([^/]+)};
$name =~ s/\w{4} [^aoeuiyc\W] [rl]?+ \K (?= [^aoeuiy\W] [rl]? [aoeuiy] \w)//gx;
($name, my @morenames) = split m{/}, $name;
$name =~ s{\( ([^/]+) \)}{$1}x;
$name .= " ($_)" for @morenames;
my $hidden = $name =~ s/\?$//;
$name = "$name" if $name =~ s/\?$//;
$name = "$name";
if ($id and -e (my $img = "data/word/en/$id.jpg")) {
$name .= sprintf '', $img, $imgname;
}
return sprintf '', $hidden && !exists $get{v} && ' hidden', $name;
}
sub printimgs {
say '
';
for my $row (@_) {
my ($id, $level, $title) = @{$row};
$id or die "empty reference"; # assertion to prevent loops
my @type;
push @type, 'parent' if defined $table->{$id};
push @type, 'large' if $level =~ s/c$//;
push @type, 'level'.($level || 0);
printf '