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 <[email protected]>
> wrote:
>
>
>>> On 24 May 2020, at 10:43, ToddAndMargo via perl6-users
>>> <[email protected]> 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