#!/usr/bin/perl use warnings; use strict; use YAML; my @Array; $Array[0]{x} = 1, $Array[0]{y} = 5; # # Or more concisely... # $Array[3] = {x => 3, y => 9}; $Array[2] = {x => 3, y => 4}; $Array[1] = {x => 6, y => 2}; $Array[4] = {x => 8, y => 1}; my @Sorted = sort {$a->{x} <=> $b->{x} || $b->{y} <=> $a->{y}} @Array; print YAML::Dump(@Sorted);