in reply to Data cube in Perl?

Well, I'm not sure I understand the normalization and the reduction (since you didn't show how a new reduced cube would look), but here's a start. You just need an object, really, with a couple methods and all.

You have one to set the field names, one to set the valid field values (or have callbacks -- references to functions -- test the validity a value), and a couple to get data, or transform it, or reduce it.

I was about to give you code, but I'd need to know much more about data cubes first. Sounds like you do. I doubt there's a data cube module in existence. Go for it.

$_="goto+F.print+chop;\n=yhpaj";F1:eval