Hmmm... it appears we need to numerify the match to get numeric comparison 
semantics, so we put a "+" before the match:

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



> On 24 May 2020, at 21:49, ToddAndMargo via perl6-users <perl6-us...@perl.org> 
> wrote:
> 
> 
>>> On 24 May 2020, at 10:43, ToddAndMargo via perl6-users 
>>> <perl6-us...@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