http://www.perlmonks.org?node_id=872254


in reply to How to organize Catalyst stash

IMNSHO almost all of those things you call "other information" ought to be part of the payment object, and I would certainly pass that. Textual descriptions should be accessible via the appropriate reference tables using the appropriate methods on your object (specially if it's a DBIx::Class object. The urls can be pulled out of the catalyst context object which your templating system ought to have access to.

I.E. I'd pass the object. I often stash other stuff, but not for the reasons you mention.

CENSORED database dates! As far as I'm concerned, there are only three reasonable forms for a date in a perl program:

Only the first two can be stored in a database. I never use database date formats. I've had to use quite a number of different databases and none of them agree on anything to do with dates/times. And none of them support time-zones. And none of them do what I want. I've had nothing but trouble and wasted time from database date/times. I use an epoch integer or an ISO string, (whichever is appropriate) to store them and convert them to a DateTime object to manipulate them. And it just works. I hate database date/time handling.

Sorry about that. Now I feel better.