Some unexpected behavior, with Date::Calc, context, and map.
Most of the Date::Calc functions expect a list of @args, which can easily be passed around with arrays (as opposed to separate scalars for each $arg).
The function map returns a list.
But consider this:
my @eDate=map{$cgi->param($_)}qw(eYear eMonth eDate);
@eDate=Add_Delta_Days(@eDate,1);
That works okay, but I should be able to skip an assignment, and go straight through Add_Delta_Days with the map, like so:
my @eDate= Add_Delta_Days(map{$cgi->param($_)}
qw(eYear eMonth eDate),1);
Now, to me, that's but a simple replace, replacing @eDate in the original Add_Delta_Days call with my map, which originally defines @eDate. But Date::Calc throws this:
Usage: Date::Calc::Add_Delta_Days(year, month, day, Dd)
Soooo, I tried this:
my @eDate=Add_Delta_Days((map{$cgi->param($_)}qw(eYear eMonth eDate)),
+1);
And explictly wrap the map in parens. It worked!
Whats the difference, and thanks in advance for shedding the light!
ÅßÅ×ÅßÅ
"It is a very mixed blessing to be brought back from the dead." -- Kurt Vonnegut
|