in reply to integer partition golf

You can still save 5 chars without changing your logic, but adopting a pair of common golf tricks:

sub p{my($n,@e,$o)=@_;$_{$_=join$",sort@_,$/}++||print;p(++$o,--$n,@e)while$n-1}p pop