OK... I've switch to a pure int[] and renamed the member var to reflect its actual use (opcodes for example). I also cache the char[] of the orig substitution string for later use in calcSubs. Initial storage for the opcode array is 32... which should be plenty for normal use. I just picked that out of thin air... I'm not sure what normal usage of substitution strings might be. It's a constant, so it can easily be changed (could also be a param for custom tuning). Noticed a bug from my previous version... I was checking for in setSubstitution for '\' as a condition for _parseSubs... so that's been fixed. Changed _parseSubs to no longer return a value and is now an instance method as opposed to a static so it can get at instance vars. I tested it with our current production system. Let me know if there any issues that need to be resolved. mark -- --------------------------------------------------------------------------- Mark F. Murphy, Director Software Development <mailto:[EMAIL PROTECTED]> Tyrell Software Corp <http://www.tyrell.com> PowerPerl(tm), Add Power To Your Webpage! <http://www.powerperl.com> --------------------------------------------------------------------------- Families Against Internet Censorship: http://www.netfamilies.org/
