in reply to Shrink this sort subroutine
As an added bonus, I see that you're comparing your '$sort_field' variable. Consider the following improvement:sub bycreatetime { return $nodes{$a}{createtime} - $nodes{$b}{createtime}; } foreach $node (sort { bycreatetime } keys %nodes) { # ... }
Or, for continued amusement:my (%sort_method) = ( createtime => \&bycreatetime, createuser => \&bycreateuser, # For example ); foreach $node (sort $sort_method{$sort_field} keys %nodes) { # ... }
sub NumericalSort { my ($field) = @_; return sub { return $nodes{$a}{$field} - $nodes{$a}{$field}; }; } my (%sort_method) = ( createtime => NumericalSort('createtime'), ); foreach $node (sort $sort_method($sort_field) keys %nodes) { # ... }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Shrink this sort subroutine
by $code or die (Deacon) on Apr 25, 2001 at 01:19 UTC |