This is awesome! I need to upgrade my regex knowledge, but I've got most of what is going on at least within my range of comprehension. Is plan part of Test::More, or does Test::More have a depedency to Test::Block? Also, it appears that the %testcase hash is not required, you just used it for illustration - that is to say that only the keys are needed, I wouldn't need to decide ahead of time if the value is expected to be valid? I have some more tinkering to do, I need to look more closely at the $rx assignment. Thanks again.