Closures are so nice.#!/usr/bin/perl -w use strict; my @data = ( { name => 'jim', age => 16 }, { name => 'bob', age => 18 }, ); sub sort_me { my $field = shift; if ($field eq "name") { return sub { $a->{$field} cmp $b->{$field} }; } else { return sub { $a->{$field} <=> $b->{$field} }; } } my @sorted; my $type = sort_me("name"); @sorted = sort $type @data; $type = sort_me("age"); @sorted = sort $type @data;
In reply to RE: Re: Advanced Sorting
by chromatic
in thread Advanced Sorting
by dsdisc
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |