On Wed, Apr 21, 2010 at 4:41 PM, Norman Gaywood <ngaywood@xxxxxxxxxx> wrote: > On 22 April 2010 01:26, Norman Gaywood <ngaywood@xxxxxxxxxx> wrote: >> On Wed, Apr 21, 2010 at 04:12:06PM +0100, Dan Track wrote: >>> On Wed, Apr 21, 2010 at 1:30 PM, Norman Gaywood <ngaywood@xxxxxxxxxx> wrote: >>> > On Wed, Apr 21, 2010 at 09:21:30AM +0100, Dan Track wrote: >>> >> hashes. It's after this that I'm stuck, I'm struggling to order the >>> >> hash of hashes by uid and then print the ordered list out? Can someone >>> > [snip] >>> >> foreach my $sorted ( sort { $HoH->{$a}{uid} cmp $HoH->{$b}{uid} } keys %HoH) >>> > >>> > cmp is a string comparison. You probably want to sort numerically on the >>> > uid. So replace 'cmp' with '<=>' >> >>> foreach my $sorted ( sort { $HoH{$a}->{"uid"} <=> $HoH{$b}->{"uid"} } keys %HoH) >>> { >>> print STDOUT "$HoH{$sorted}\n" >>> } >> >>> and all I get out is: >>> >>> perl sort.pl >>> HASH(0x89de3d0) >>> HASH(0x8a05d40) >> [snip] >> >> $HoH{$sorted} is a reference to a hash. $HoH{$a}{uid} (or in >> long hand $HoH{$a}->{"uid"}) should print out the uid numbers. > > That should be $HoH{$sorted}{uid} > > -- Fantastic, you're a star :) One last point how can I print all the associated deatils attached to that uid i.e username, home dir etc and then cycle through for every uid and print the same information for each respective uid? The uid's need to be in order i.e something like uid: 0, username: root etc... uid 50, username: mysql etc... Many many thanks Dan -- users mailing list users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines