This is very interesting. But I wonder how it works. I can understand the first line
my ($month, $day, $year, $hour, $minute, $second) = .comb(/\d+/); Which extract the variables from $_. What is the second line doing, it is very concise. ($year // 0, $month // 0, $day // 0, $hour // 0, $minute // 0, $second // 0, $_); Could somebody explain in some more words.? What does // do? Why it sorts the array? Regards Xin > On Jun 9, 2018, at 12:51 AM, Timo Paulssen <t...@wakelift.de> wrote: > > That's unnecessarily long and complicated, here's how you can do it much > easier: > > @x.sort: { > my ($month, $day, $year, $hour, $minute, $second) = .comb(/\d+/); > ($year // 0, $month // 0, $day // 0, $hour // 0, $minute // 0, > $second // 0, $_); > } > > Trying it on some input data: > > 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 > cookies > asbestos > fire engine > perl6 > butterflies > > results in: > > asbestos > butterflies > cookies > fire engine > perl6 > cimtrak.log.12-08-2016_06:07:39.zip > 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 > > This is the schwartzian transform that was mentioned in another mail. > why it wasn't actually shown, i have no clue :) > > Hope that helps > - Timo