in reply to Perl custom sort for Portuguese Lanaguage
TIMTOWTDI but here is a Schwartzian Transform approach.
#!/usr/bin/env perl use strict; use warnings; my @in = <DATA>; my @sorted = map { "$_->[1]$_->[0]" } sort { $a->[0] cmp $b->[0] } map { s/^([oa] )//; [$_, $1 // ''] } @in; print @sorted; __DATA__ # Drink a cerveja|beer a laranja|orange beber|to drink o copo de vinho|glass of wine o copo|glass or cup o sumo|juice
Any modules useful for general languages learning and grammar?
Grammar is tough. Have you looked at the modules in the Lingua::PT space? Perhaps Lingua:PT::Conjugate might be one place to start? Good luck.
Update: Just spotted the copo de vinho was out of order so here is an improved ST:
#!/usr/bin/env perl use strict; use warnings; my @in = <DATA>; my @sorted = map { $_->[1] } sort { $a->[0] cmp $b->[0] } map { /^(?:[oa] )?([^|]+)/; [$1, $_] } @in; print @sorted; __DATA__ # Drink a cerveja|beer a laranja|orange beber|to drink o copo de vinho|glass of wine o copo|glass or cup o sumo|juice
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Perl custom sort for Portuguese Lanaguage
by Galdor (Sexton) on Jul 08, 2020 at 07:08 UTC | |
Re^2: Perl custom sort for Portuguese Lanaguage
by Anonymous Monk on Jun 12, 2020 at 09:24 UTC | |
by hippo (Bishop) on Jun 12, 2020 at 09:34 UTC |
In Section
Seekers of Perl Wisdom