I *think* I see where you're going with this. Basically you want arbitrary data structure validation.

Typically people call the "profile" for such validation, a schema. You'll see that term most frequently with XML data.

In the Perl world, there are no doubt a number of tools that let you validate data against a schema. One such tool is Data-Rx (homepage). One particularly nice feature is that the author has also prepared implementations in other languages, so the same schema can be used against a number of different end-points.

Sorry for not directly answering your question, but I would feel silly if I didn't mention this existing tool.

--"Go up to the next female stranger you see and tell her that her "body is a wonderland."
My hypothesis is that she’ll be too busy laughing at you to even bother slapping you." (src)