#!/usr/bin/perl use strict; use warnings; my @twod = ( [ 'chr1', 10 ], [ 'chr3', 20 ], [ 'chr1', 30 ], [ 'chr3', 5] ); my @sorted = sort { $a->[0] cmp $b->[0] || $a->[1] <=> $b->[1] } @twod; foreach my $row ( @sorted ) { print $row->[0], " ", $row->[1], "\n"; }