[ ['NM_144963','2713','4091'], ['NM_144963','1949','2712'] ]; #### my @sorted = sort {($a->[1] <=>$b->[1]) || ($a->[2] <=> $b->[2])}@array; my $coverage = 0; for (@sorted){ $coverage += $_->[2] - $_->[1] +1; } printf "cover = %.1f%% \n", $coverage/$length *100; #### [ ['NM_176827','618','710'], ['NM_176827','621','710'], ['NM_176827','622','692'], ['NM_176827','629','710'] ]