What about using the Case.pm module? Unless there are some pitfalls that I am missing, this looks like a pretty good solution to me.
Ted
-- "That which we persist in doing becomes easier, not that the task itself has become easier, but that our ability to perform it has improved."
--Ralph Waldo Emerson