- Power operator (^) does not work - A typo was made on line 151. It should be $new_number = $new_number**$1;
- Large ranges are inefficient - If you specify a large range as an expression, it can take up lots of memory and take a while to complete. numrandom /1..10000000/ alone takes up half a gigabyte or memory. This is because the algorithm in the program is rather simple, it just loads the set of numbers into an array and picks from them. If someone has a better idea of how to do this, I'd appreciate it.
Idea: Try determining how many numbers there will be in a set first, then randomly choosing an random number from that 0 to X range, then determining what that number is by incrementing through the expressions. This way an array of all the numbers doesn't need to be built. Update COOL! This works well. It doesn't improve the speed, but that's fine, it uses practically no memory to do this. I was able to do ranges in the billions without running my machine out of ram. Now if we could just get the performance problem fixed.