Well, I'm not sure how to name them, but if you had an unlimited number of dates and each date could be assigned its own sub, you could make it extremely flexible. Perhaps an unlimited number, but with certain names reserved would work.
phased_update(
{
intro => [ "2008.06.01", sub {} ], # not reserved
foo => [ "2008.08.01", sub {} ], # not reserved
deprecate => [ "2008.12.31", sub {} ], # reserved
dead => [ "2010.01.01", sub {} ], # reserved
}
);
The exact syntax might need some work, but you get the idea. The reserved values could trigger default actions if there's no sub.
|