in reply to Closures and sort
You are just missing a few bits. $_->[0] should be $_[0] and then you must put $a dn $b on the param list.
T I M T O W T D I
But you dont want to call mcc each time. That will create a new closeure each time!use strict; my @list = qw/ box cow dog apple ant/; # A "normal" use of sort my @sorted = sort {$a cmp $b} @list; print join (',', @sorted), "\n"; #return the sort sub and count in a list sub mcc { my $count = 0; return (sub {$count++; $_[0] cmp $_[1] }, $count); } # why can't I say something like mcc()[0] ??? print join ',',sort { &{(mcc())[0]}($a,$b) } @list;
T I M T O W T D I
|
---|
In Section
Seekers of Perl Wisdom