On 24 May 2020, at 10:43, ToddAndMargo via perl6-users <perl6-users@perl.org> 
wrote:

Hi All,

https://docs.raku.org/routine/sort

I need help sorting a list.

This is the list of values I want to sort:

H:\MyDocsBackup\backup1
H:\MyDocsBackup\backup2
H:\MyDocsBackup\backup126
H:\MyDocsBackup\backup3
H:\MyDocsBackup\backup33
H:\MyDocsBackup\backup6


This is what I want back:

H:\MyDocsBackup\backup1
H:\MyDocsBackup\backup2
H:\MyDocsBackup\backup3
H:\MyDocsBackup\backup6
H:\MyDocsBackup\backup33
H:\MyDocsBackup\backup126


This is how I did it in Perl 5, but I can't
figure out what I did!  :'(  :'(  :'(

@Sorted_List = sort {
   my @a = split /.*\D/, $a;
   my @b = split /.*\D/, $b; $a[1] <=> $b[1]; } @Unsorted_List;


Many thanks,
-T

On 2020-05-24 02:24, Elizabeth Mattijsen wrote:
> dd <a1 a2 a33 a111>.sort: { m/ \d+ $/ }
>

Hi Elizabeth,

This seems to work:

   $ raku -e 'dd <a5 a6 a33 a111>.sort: { m/ \d+ $/ };'
   ("a5", "a6", "a33", "a111").Seq


But I can't figure out how to get it into an array:

$ raku -e 'my @x=<a5 a2 a123 a133 a1>.sort: { m/ \d+ $/ }; for @x { say $_; }'
   a5
   a2
   a123
   a133
   a1

:'(

-T

Reply via email to