! and to answer the question you have in your head, ! here's an excerpt from man pcreapi: Although the compiled code of a PCRE regex is relocatable, that is, it does not depend on memory location, the complete pcre data block is not fully relocatable, because it may contain a copy of the tableptr argument, which is an address (see below). ! most pcre code I've seen so far always pass a null pointer ! for the tableptr argument. if that's indeed the usual ! way to do it then we may have a clear winner here.