The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl

use Test::More tests => 6;
use Sort::Key qw(nkeysort rnkeysort nkeysort_inplace nsort rnsort);

use strict;
use warnings;

my @data=map { rand(200)-100 } 1..10000;

is_deeply([nkeysort {$_*$_} @data], [sort {$a*$a <=> $b*$b} @data], 'i sqr');

my @sorted = sort {$a<=>$b} @data;
my @rsorted = reverse @sorted;
is_deeply([nkeysort {$_} @data], \@sorted, 'n id');
is_deeply([rnkeysort {$_} @data], \@rsorted, 'reverse');
nkeysort_inplace {$_} @data;
is_deeply(\@data, \@sorted, 'in place');

is_deeply([nsort @data], \@sorted, 'nsort');
is_deeply([rnsort @data], \@rsorted, 'rnsort');