#!/usr/bin/perl # https://perlmonks.org/?node_id=1222256 use strict; use warnings; my $ary1 = [ [ 1,1,1,1,1,'2018-03-01', 'src1', 1,1,1,1 ], [ 1,1,1,1,1,'2018-02-15', 'src1', 1,1,1,1 ], [ 1,1,1,1,1,'2018-04-11', 'src1', 1,1,1,1 ], [ 1,1,1,1,1,'2018-03-11', 'src1', 1,1,1,1 ], ]; my $ary2 = [ [ 2,2,2,2,'2018-03-02', 2, 'src2', 2,2,2,2 ], [ 2,2,2,2,'2018-01-25', 2, 'src2', 2,2,2,2 ], [ 2,2,2,2,'2018-04-22', 2, 'src2', 2,2,2,2 ], [ 2,2,2,2,'2018-03-22', 2, 'src2', 2,2,2,2 ], ]; my @sorted = map $_->[0], sort { $a->[1] cmp $b->[1] } map( [ $_, $_->[5] ], @$ary1 ), map( [ $_, $_->[4] ], @$ary2 ); use Data::Dump 'dd'; dd \@sorted;
Outputs
[ [2, 2, 2, 2, "2018-01-25", 2, "src2", 2, 2, 2, 2], [1, 1, 1, 1, 1, "2018-02-15", "src1", 1, 1, 1, 1], [1, 1, 1, 1, 1, "2018-03-01", "src1", 1, 1, 1, 1], [2, 2, 2, 2, "2018-03-02", 2, "src2", 2, 2, 2, 2], [1, 1, 1, 1, 1, "2018-03-11", "src1", 1, 1, 1, 1], [2, 2, 2, 2, "2018-03-22", 2, "src2", 2, 2, 2, 2], [1, 1, 1, 1, 1, "2018-04-11", "src1", 1, 1, 1, 1], [2, 2, 2, 2, "2018-04-22", 2, "src2", 2, 2, 2, 2], ]
In reply to Re: Unusual sorting requirement
by tybalt89
in thread Unusual sorting requirement
by thezip
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |