Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Perl custom sort for Portuguese Lanaguage

by hippo (Bishop)
on Jun 12, 2020 at 08:19 UTC ( #11117960=note: print w/replies, xml ) Need Help??


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
    Thanks for Linuga::PT::Conjugate steer...I never though about those at all..Nice!!
Re^2: Perl custom sort for Portuguese Lanaguage
by Anonymous Monk on Jun 12, 2020 at 09:24 UTC
    fails on įgua

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11117960]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (4)
As of 2022-01-23 12:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:












    Results (63 votes). Check out past polls.

    Notices?