Sto provando a fare quanto segue. Ho un elenco predefinito da utilizzare come "ordina per" su una lista data.Come ordinare una lista con un determinato ordine?
my @orderby = ('car', 'boat', 'chicken', 'cat', 'dog', 'mouse');
or
my %orderby = ('car' => 0, 'boat' => 1, 'chicken' => 2, 'cat' => 3, 'dog' => 4, 'mouse' => 5);
my @list = ('boat', 'car', 'mouse', 'chicken');
Ho provato infiniti modi per ordinarlo e non ho ottenuto quello che volevo. Ho cercato su google e qui, ma non ho trovato la risposta.
@list
bisogno di essere ordinata in questo modo:
sort @list using %orderby
La stampa che voglio dopo l'ordinamento: voci
car, boat, chicken, mouse
BTW, @List può aver duplicato:
my @list = ('boat', 'car', 'mouse', 'chicken', 'mouse', 'car');
In questo caso, la stampa deve essere:
car, car, boat, chicken, mouse, mouse
Avete una soluzione per questo? o forse un altro approccio. Grazie !!
Re l'aggiornamento, la mia le soluzioni gestiscono i duplicati. – ikegami
sì, l'ho provato! Di nuovo! – Jonathan