sub myCmp { $a cmp $b; } sub myFunc { my($sortFunc, @arr) = @_; # do something ... @arr = sort $sortFunc @arr; # do something else ... return(@arr); } @tmpArr = ( "xxx", "aaa", "zzz", "bbb" ); @tmpArr = myFunc(\&myCmp, @tmpArr);