(common.inc.plp)><:
use warnings;
no warnings 'qw';
my $intro = 'dieren die in het Nederlands vernoemd zijn naar andere dieren.';
my %subpages = (
standaard => {
title => 'dieren',
intro => $intro,
altlink => 'Zie ook verdergezochte verbanden' .
' of het beknopte overzicht.',
prefix => qr/^(?!#)\+?/, # no # optional +
colfilter => 0,
},
uitgebreid => {
title => 'uitgebreid dieren',
intro => "$intro.. en dergelijke.",
altlink => 'Zie het populaire overzicht voor minder.',
prefix => qr/.*?[#]|^[#+]*/, # after optional # or +
secrets => 1,
},
beknopt => {
title => 'beknopt dieren',
intro => "een aantal $intro",
altlink => 'Zie het populaire overzicht voor meer.',
prefix => qr/^\+/, # only +
colfilter => 1,
},
);
$Request ||= 'standaard';
my $pageinfo = $subpages{$Request}
or Html(), Abort("Onbekende dierenpagina $Request
", '404 request not found');
Html({
title => $pageinfo->{title}.' cheat sheet',
version => '1.2',
lang => 'nl',
description => "Tabeloverzicht met afbeeldingen van $pageinfo->{intro}",
keywords => [qw'
dier beest naam naamgeving woord taal nederlands gerelateerd
relatie vernoemd vernoeming combinatie samenstelling voorvoegsel onverwant
land zee lucht animals dutch language
'],
image => 'dieren.jpg',
raw => <<"EOT",
EOT
});
:>
<: say ucfirst $pageinfo->{intro}; say $pageinfo->{altlink}; :>
<: my $table = Data('dieren'); if (exists $get{r}) { use List::MoreUtils qw( part ); my @trans = (part { state $col; /^#?>/ ? ($col = 0) : ++$col } @{$table}); $table = []; for (@trans) { unshift @$_, '?:' if $_->[0] !~ /:$/; $_->[0] =~ s/^#?\K>?/>>/; for (@$_) { push @$table, s/^#?\K>/$1/r; } } } for my $prefix ($pageinfo->{prefix}) { for my $col ($pageinfo->{colfilter} // ()) { @{$table} = grep { $_->[$col] =~ $prefix } @{$table}; } $_ = [ grep { s/$prefix// } @{$_} ] for @{$table}; } say '$name | "; next; } print '';
my $alt = $1 if $name =~ s/=(.*)//;
$name = "$name" if $name =~ s/\?$//; $name .= " ($alt)" if $alt; printf ''; print ' | ';
}
say '
---|