#!/usr/bin/perl -w use strict; my @a; push @a,{x=>1,y=>1}; push @a,{x=>2,y=>1}; push @a,{x=>1,y=>2}; push @a,{x=>2,y=>3}; push @a,{x=>2,y=>2}; foreach(sort {$a->{x} <=> $b->{x} or $a->{y} <=> $b->{y}} @a){ print " $_->{x} $_->{y}\n"; }