foreach ( sort gs::long_strings_first($a,$b), @$raw_hash_keys_ar ) { #do_stuff; } package gs; sub long_strings_first { my ($first, $second) = @_; ... }