in reply to number of unique characters in a string

Well, since you said you're going to do this thousands of times...
use Inline C =>; print UniqueCount("0101010101"), "\n"; print UniqueCount("1234567812"), "\n"; __END__ __C__ int UniqueCount(unsigned char *str) { char counts[256]; int i; int result; /* clear the array */ for (i = 0; i <= 255; i++) { counts[i] = (char) 0; } /* notice the characters */ while (*str) { counts[*str++] = 1; } /* now count the results */ result = 0; for (i = 0; i <= 255; i++) { result += counts[i]; } return result; }
Apologies for my rusty C... I've been coding in Perl too long (however, it worked on the first compile!).

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.