X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/139cfe4ebde273208f91d401a2938330faf41c06..2b137fb228bb4cf979a2c63f863c4020ae399d43:/tools/mkwordlist diff --git a/tools/mkwordlist b/tools/mkwordlist index 78859b4..81c3630 100755 --- a/tools/mkwordlist +++ b/tools/mkwordlist @@ -4,7 +4,7 @@ use warnings; BEGIN { push @INC, '.' } use Shiar_Sheet::DB; -use open ':std' => ':utf8'; +use open ':std' => ':encoding(utf-8)'; my $db = Shiar_Sheet::DB->connect; say 'use utf8;'; @@ -13,8 +13,13 @@ use Data::Dump 'pp'; my %rows; if (my $lang = shift @ARGV) { my %filter = (lang => $lang); - my $cols = "ref, id, prio, array_to_string(form || alt, '/')"; - %rows = $db->select(_word_ref => $cols, \%filter)->map_arrays; + my $cols = "ref, array_to_string(form || alt, '/'), prio, id, sub"; + %rows = $db->select(_word => $cols, \%filter)->map_arrays; + defined $_->[-1] or pop @$_ for values %rows; + $rows{''} = [ + (undef) x 3, + [$db->select(word => 'id', {cat => undef, ref => undef})->flat] + ]; say pp \%rows =~ s/\\x\{([0-9A-F]+)\}/chr hex $1/ger; exit;