Brent thinkoed that slightly. (Forgot that first use of a placeholder "declares" it, and thereafter you don't use the ^. Which then collides with the local "my" variables.)
> @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 > }; On Fri, Jun 8, 2018 at 11:53 PM ToddAndMargo <toddandma...@zoho.com> wrote: > On 06/08/2018 07:00 PM, Brent Laabs wrote: > > let me revise that > > > > @x.sort: { > > my $a = $^a ~~ m:g/\d+/; > > my $b = $^b ~~ 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] > > || $^a cmp $^b > > !! $^a cmp $^b > > }; > > > > > $ ls | perl6 -e 'my @x=slurp(); @x.sort: { my $a = $^a ~~ m:g/\d+/;my > $b = $^b ~~ 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] || $^a cmp $^b !! $^a cmp $^b a cmp $^b' $^a > cmp $^b > ===SORRY!=== Error while compiling -e > Redeclaration of symbol '$^a' as a placeholder parameter > at -e:1 > ------> my @x=slurp(); @x.sort: { my $a = $^a⏏ ~~ m:g/\d+/; my $b = $^b > ~~ m:g/\d+/;$a > -- brandon s allbery kf8nh sine nomine associates allber...@gmail.com ballb...@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net