use strict; use warnings; my $sorter = get_numeric(); my @sorted2 = sort $sorter (3,2,1); print join(', ', @sorted2); sub get_numeric { return \&numeric; } sub numeric($$) { my ($a,$b) = @_; $a <=> $b; }