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 <[email protected]> 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
[email protected] [email protected]
unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net