List-OrderBy
view release on metacpan or search on metacpan
lib/List/OrderBy.pm view on Meta::CPAN
order_cmp_by then_cmp_by
order_by_desc then_by_desc
order_cmp_by_desc then_cmp_by_desc
) ] );
@EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
@EXPORT = @EXPORT_OK;
$VERSION = '0.2';
};
sub order_by(&;@) {
List::OrderBy::Container->new(sub { $_[0] <=> $_[1] }, @_)->get();
}
sub order_by_desc(&;@) {
List::OrderBy::Container->new(sub { $_[1] <=> $_[0] }, @_)->get();
}
sub order_cmp_by_desc(&;@) {
List::OrderBy::Container->new(sub { $_[1] cmp $_[0] }, @_)->get();
}
sub order_cmp_by(&;@) {
List::OrderBy::Container->new(sub { $_[0] cmp $_[1] }, @_)->get();
}
sub then_by(&;@) {
List::OrderBy::Container->new(sub { $_[0] <=> $_[1] }, @_)
}
sub then_by_desc(&;@) {
List::OrderBy::Container->new(sub { $_[1] <=> $_[0] }, @_)
}
sub then_cmp_by(&;@) {
List::OrderBy::Container->new(sub { $_[0] cmp $_[1] }, @_)
}
sub then_cmp_by_desc(&;@) {
List::OrderBy::Container->new(sub { $_[1] cmp $_[0] }, @_)
}
package List::OrderBy::Container;
use strict;
use warnings;
sub new {
my $class = shift;
my $key_comparer = shift;
( run in 0.649 second using v1.01-cache-2.11-cpan-49f99fa48dc )