#!/usr/bin/perl -w use strict; my @AoH = ( {a => 1, b => 2, c => 3}, {a => 1, b => 2}, {a => 1, b => 2, c => 3, d => 4}, {a => 1} ); sub mysort { # Awful abuse of Perl, here... (my $A = %$a) =~ s#/.*##; (my $B = %$b) =~ s#/.*##; $B <=> $A; } my $count = 0; print join("\t", $count++, keys %$_), "\n" for sort mysort @AoH;