It isn't in any variable, @x.sort got called in sink context. You'll have to assign it if you want, maybe use @x.=sort ?
I just wanted to give an example of how to solve the problem, not necessarily a working solution. First of all, I did thinko the solution -- element 6 is [5]... and we don't really need to check the last bits of time if we're going to do cmp anyway... @x.=sort: { my $a = $^x ~~ m:g/\d+/; # extract digit portions in to match object for each parameter to sort my $b = $^y ~~ m:g/\d+/; # ditto $a[5].defined cmp $b[5].defined # this part makes sure we're actually looking at a timestamp with 6 digit groups ?? $a[3] cmp $b[3] # year || $a[1] cmp $b[1] # month || $a[2] cmp $b[2] # day || $x cmp $y # sort whatever's left !! $x cmp $y # doesn't have a date stamp, then just string compare }; The part about placeholders being declarations I didn't know, so hey, I'm glad I participated. On Fri, Jun 8, 2018 at 9:37 PM, ToddAndMargo <toddandma...@zoho.com> wrote: > On 06/08/2018 09:25 PM, Brandon Allbery wrote: > >> @x.sort: { >> my $a = $^x ~~ m:g/\d+/; >> my $b = $^y ~~ m:g/\d+/; >> $a[6].defined cmp $b[6].defined >> ?? >> $a[3] cmp $b[3] >> || $a[1] cmp $b[1] >> || $a[2] cmp $b[2] >> || $a[4] cmp $b[4] >> || $a[5] cmp $b[5] >> || $a[6] cmp $b[6] >> || $x cmp $y >> !! $x cmp $y >> }; >> >> This is what I sent before, minus the leading "> " that I'd neglected to >> remove. >> >> Please note the second line does NOT say "my $a = $a ~~ m:g/\d+/;", which >> is what you had and what produced the error you pasted. I don't know where >> you got that. Likewise the third line with $b and $^y (where again you had >> $b instead). >> >> On Sat, Jun 9, 2018 at 12:19 AM ToddAndMargo <toddandma...@zoho.com >> <mailto:toddandma...@zoho.com>> wrote: >> >> On 06/08/2018 09:16 PM, Brandon Allbery wrote: >> > You didn't use what I sent. It's $^x and $^y, not $a and $b. >> >> I am lost. Would you mind writing it out for me? >> > > $ ls | perl6 -e 'my @x=slurp(); say @x.sort: {my $a = $^x ~~ m:g/\d+/;my > $b = $^y ~~ m:g/\d+/; $a[6].defined cmp $b[6].defined ?? $a[3] cmp $b[3] > || $a[1] cmp $b[1] || $a[2] cmp $b[2] || $a[4] cmp $b[4] || $a[5] cmp > $b[5] || $a[6] cmp $b[6] || $x cmp $y !! $x cmp $y};' > (cimtrak.log.06-08-2018_16:07:39.zip > cimtrak.log.06-08-2018_17:07:39.zip > cimtrak.log.07-08-2018_06:07:39.zip > cimtrak.log.07-08-2018_16:07:39.zip > cimtrak.log.12-08-2016_06:07:39.zip > ) > > > :'( >