12-23-2017, 02:22 PM
you could use someting like this (a perl script) and change the words if you need:
The only "probem" is that it will increase very fast the more words there are in the array/dict.
Code:
#!/usr/bin/env perl
use strict;
use warnings;
my @words = (
'fruit',
'apple',
'pear',
'banana',
'turkey',
'tree',
'photo',
'plant'
);
my $count = scalar (@words);
for (my $i = 0; $i < $count; $i++)
{
for (my $j = 0; $j < $count; $j++)
{
next if ($j == $i);
for (my $k = 0; $k < $count; $k++)
{
next if ($k == $i);
next if ($k == $j);
for (my $l = 0; $l < $count; $l++)
{
next if ($l == $i);
next if ($l == $j);
next if ($l == $k);
# 0 plural
print $words[$i] . $words[$j] . $words[$k] . $words[$l] . "\n";
# 1 plural
print $words[$i] . "s" . $words[$j] . $words[$k] . $words[$l] . "\n";
print $words[$i] . $words[$j] . "s" . $words[$k] . $words[$l] . "\n";
print $words[$i] . $words[$j] . $words[$k] . "s" . $words[$l] . "\n";
print $words[$i] . $words[$j] . $words[$k] . $words[$l] . "s" . "\n";
# 2 plurals (1st word)
print $words[$i] . "s" . $words[$j] . "s" . $words[$k] . $words[$l] . "\n";
print $words[$i] . "s" . $words[$j] . $words[$k] . "s" . $words[$l] . "\n";
print $words[$i] . "s" . $words[$j] . $words[$k] . $words[$l] . "s" . "\n";
# 2 plurals (2nd word)
print $words[$i] . $words[$j] . "s" . $words[$k] . "s" . $words[$l] . "\n";
print $words[$i] . $words[$j] . "s" . $words[$k] . $words[$l] . "s" . "\n";
# 2 plurals (3rd word)
print $words[$i] . $words[$j] . $words[$k] . "s" . $words[$l] . "s" . "\n";
# 3 plurals (1st word)
print $words[$i] . "s" . $words[$j] . "s" . $words[$k] . "s" . $words[$l] . "\n";
print $words[$i] . "s" . $words[$j] . "s" . $words[$k] . $words[$l] . "s" . "\n";
print $words[$i] . "s" . $words[$j] . $words[$k] . "s" . $words[$l] . "s" . "\n";
# 3 plurals (2nd word)
print $words[$i] . $words[$j] . "s" . $words[$k] . "s" . $words[$l] . "s" . "\n";
# 4 plurals
print $words[$i] . "s" . $words[$j] . "s" . $words[$k] . "s" . $words[$l] . "s" . "\n";
}
}
}
}
The only "probem" is that it will increase very fast the more words there are in the array/dict.