my $sqldata = [ { level => 2, menuname => 'cccccc' }, { level => 3, menuname => '333333' }, { level => 3, menuname => '222222' }, { level => 1, menuname => 'CCCCCC' }, { level => 2, menuname => 'bbbbbb' }, { level => 1, menuname => 'BBBBBB' }, { level => 1, menuname => 'AAAAAA' }, { level => 3, menuname => '111111' }, { level => 2, menuname => 'aaaaaa' }, ]; my $sorted = sort { $a->{level} <=> $b->{level} || [$a->{menuname} cmp $b->{menuname} } @$sqldata; for ( 0 .. $#$sorted ) { print $sorted->[$_]{level}." ".$sorted->[$_]{menuname}."
"; }