sub list_sort { my @vals = @_; # trivial case: 0 or 1 items in the list return @vals if @vals < 2; my @smaller = get_smaller(@vals); my @larger = get_larger(@vals); return list_sort(@smaller), list_sort(@larger); }