use ntheory ":all"; my %seen; forpart { my @p=@_; forperm { my $s="@p[@_]"; say $s unless $seen{$s}++; } scalar(@p); } 5,{n=>3};