5 BEGIN { push @INC, '.' }
7 use open ':std' => ':encoding(utf-8)';
8 my $db = Shiar_Sheet::DB->connect;
14 if (my $lang = shift @ARGV) {
15 my %filter = (lang => $lang);
16 my $cols = "ref, array_to_string(form || alt, '/'), prio, id, sub";
17 %rows = $db->select(_word => $cols, \%filter)->map_arrays;
18 defined $_->[-1] or pop @$_ for values %rows;
21 [$db->select(word => 'id', {cat => undef, ref => undef})->flat]
24 =~ s/\\x\{([0-9A-F]+)\}/chr hex $1/ger;
28 %rows = $db->select(_cat_words => "coalesce(id::text, ''), forms")->map;
29 $_ = [ map { [split /:/, $_, 3] } @{$_} ] for values %rows;