This could be done in perl or C/C++, up to the programmer.
Command-line program that takes two command-line parameters as input, a string and a text file name, and writes "word permutations" of the string, based on words in the text file, to standard output. More explanation is below, but on a simple level, if the text file contained the words "one" and "two", and the input string was "onetwo", the program should output the permutation of the input string, "twoone".
The string that's passed will be a series digits or lowercase letters (a-z), without spaces, up to 64 characters in length, such as "bigbadwolf2".
The text file is an arbitrary list of words, one word per line, for example [url removed, login to view] can contain:
Each line in the text file has one word, digits or lowercase letters only, no punctuation, no spaces, and is limited to 64 characters max. (If a line has more than 64 characters, or it has non-alphanumeric characters, or uppercase letters, ignore that line, display an error message saying "error in textfile, line number ", and continue reading the other lines).
Using the example [url removed, login to view] file above, and running the program as
permute bigbadwolf [url removed, login to view]
should recognize that the input string is made up of three words, big, bad, and wolf, then rearrange them in every other possible combination, so it would output them, one per line, as:
If part of the input string is not a word defined in the word list, for example "hairy" in "bigbadhairywolf," that non-word should remain in place, while the other words swap positions with one another, so
permute bigbadhairywolf [url removed, login to view]
A few more details are attached as a seperate file, but this gives you an idea of the project.
1) Complete and fully-functional working program with complete source code of all work done.
2) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).
Target platform is FreeBSD 4.6.1