# Take a list of sort functions, return a sort function # that tests them in order, with short circuit logic. sub ret_combined_sort_func { if (1 == @_) { return shift; } else { my @subs = @_; return sub { my $ret = 0; foreach (@subs) { $ret = $_->(); return $ret if $ret; } # I guess we're "out of sorts" :-) return 0; } } }