Help for this page

Select Code to Download


  1. or download this
    #------------------------------------------------------------
    # Return an iterator of all possible combinations (of all
    ...
        my ($by, $next) = (0, 1);
    
        return sub {
    
  2. or download this
            # We're done after we've returned a list of all symbols
            return () if @position == @list;
    
  3. or download this
            if ( $next ) {
                # We finished all combos of size $by, now do $by+1
                $by++;
    
  4. or download this
                # If new size is larger than list, we're done!
                return () if $by > @list;
    
  5. or download this
    
                # Start with leftmost $by symbols (except last,
    ...
            return @list[ @position ];
        }
    }