sub bycreatetime
{
return $nodes{$a}{createtime}
- $nodes{$b}{createtime};
}
foreach $node (sort { bycreatetime } keys %nodes)
{
# ...
}
####
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)
{
# ...
}