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
In reply to Re: Perl custom sort for Portuguese Lanaguage
by hippo
in thread Perl custom sort for Portuguese Lanaguage
by Galdor
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |