in reply to give arguments to sort_sub
@sorted = sort { by_list( \@sortorder ) } @tobesorted;
Update: Or if you do it more than once with a few common orders:
sub make_sorter { my $order = shift; return sub { by_list( $order ) }; } my $order1 = make_sorter( [ qw( a c d e b f ) ] ); my $order2 = make_sorter( [ qw( f b a d c e ) ] ); my @order1 = sort $order1, @tobesorted; my @order2 = sort $order2, @tobesorted; my @other2 = sort $order2, @othertobesorted;
|
|---|