my $sorter = \&some_function; sort $sorter (1,2,3); #### sort \&some_function (1,2,3); #### sort make_sorter() (1,2,3) #### 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; } #### use strict; use warnings; my @sorted2 = sort get_numeric() (3,2,1); print join(', ', @sorted2); sub get_numeric { return \&numeric; } sub numeric($$) { my ($a,$b) = @_; $a <=> $b; } #### syntax error at pmsort line 4, near ") ("