[OT] Help with Perl Script

Norman Gaywood ngaywood at une.edu.au
Wed Apr 21 15:26:04 UTC 2010


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 at une.edu.au> 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.

-- 
Norman Gaywood, Computer Systems Officer
University of New England, Armidale, NSW 2351, Australia

ngaywood at une.edu.au            Phone: +61 (0)2 6773 3337
http://mcs.une.edu.au/~norm    Fax:   +61 (0)2 6773 3312

Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html


More information about the users mailing list