- SWITCH: {
- $form->{duetyp} eq "1" && do {
- $form->{fromdate}="1.1.$form->{year}";
- $form->{todate}="31.1.$form->{year}";
- $form->{comparefromdate}="1.01.$form->{year}";
- $form->{comparetodate}="31.01.$form->{year}";
- last SWITCH;
- };
- $form->{duetyp} eq "2" && do {
- $form->{fromdate}="1.2.$form->{year}";
- #this works from 1901 to 2099, 1900 and 2100 fail.
- $leap=($form->{year} % 4 == 0) ? "29" : "28";
- $form->{todate}="$leap.2.$form->{year}";
- $form->{comparefromdate}="1.01.$form->{year}";
- $form->{comparetodate}="$leap.02.$form->{year}";
- last SWITCH;
- };
- $form->{duetyp} eq "3" && do {
- $form->{fromdate}="1.3.$form->{year}";
- $form->{todate}="31.3.$form->{year}";
- $form->{comparefromdate}="1.01.$form->{year}";
- $form->{comparetodate}="31.03.$form->{year}";
- last SWITCH;
- };
- $form->{duetyp} eq "4" && do {
- $form->{fromdate}="1.4.$form->{year}";
- $form->{todate}="30.4.$form->{year}";
- $form->{comparefromdate}="1.01.$form->{year}";
- $form->{comparetodate}="30.04.$form->{year}";
- last SWITCH;
- };
- $form->{duetyp} eq "5" && do {
- $form->{fromdate}="1.5.$form->{year}";
- $form->{todate}="31.5.$form->{year}";
- $form->{comparefromdate}="1.01.$form->{year}";
- $form->{comparetodate}="31.05.$form->{year}";
- last SWITCH;
- };
- $form->{duetyp} eq "6" && do {
- $form->{fromdate}="1.6.$form->{year}";
- $form->{todate}="30.6.$form->{year}";
- $form->{comparefromdate}="1.01.$form->{year}";
- $form->{comparetodate}="30.06.$form->{year}";
- last SWITCH;
- };
- $form->{duetyp} eq "7" && do {
- $form->{fromdate}="1.7.$form->{year}";
- $form->{todate}="31.7.$form->{year}";
- $form->{comparefromdate}="1.01.$form->{year}";
- $form->{comparetodate}="31.07.$form->{year}";
- last SWITCH;
- };
- $form->{duetyp} eq "8" && do {
- $form->{fromdate}="1.8.$form->{year}";
- $form->{todate}="31.8.$form->{year}";
- $form->{comparefromdate}="1.01.$form->{year}";
- $form->{comparetodate}="31.08.$form->{year}";
- last SWITCH;
- };
- $form->{duetyp} eq "9" && do {
- $form->{fromdate}="1.9.$form->{year}";
- $form->{todate}="30.9.$form->{year}";
- $form->{comparefromdate}="1.01.$form->{year}";
- $form->{comparetodate}="30.09.$form->{year}";
- last SWITCH;
- };
- $form->{duetyp} eq "10" && do {
- $form->{fromdate}="1.10.$form->{year}";
- $form->{todate}="31.10.$form->{year}";
- $form->{comparefromdate}="1.01.$form->{year}";
- $form->{comparetodate}="31.10.$form->{year}";
- last SWITCH;
- };
- $form->{duetyp} eq "11" && do {
- $form->{fromdate}="1.11.$form->{year}";
- $form->{todate}="30.11.$form->{year}";
- $form->{comparefromdate}="1.01.$form->{year}";
- $form->{comparetodate}="30.11.$form->{year}";
- last SWITCH;
- };
- $form->{duetyp} eq "12" && do {
- $form->{fromdate}="1.12.$form->{year}";
- $form->{todate}="31.12.$form->{year}";
- $form->{comparefromdate}="1.01.$form->{year}";
- $form->{comparetodate}="31.12.$form->{year}";
- last SWITCH;
- };
- }
- } else {
- ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{fromdate});
- $form->{fromdate} = "${dd}.${mm}.${yy}";
- ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{todate});
- $form->{todate} = "${dd}.${mm}.${yy}";
- $form->{comparefromdate} = "01.01.$yy";
- $form->{comparetodate} = $form->{todate};
- }
+ SWITCH: {
+ $form->{duetyp} eq "1" && do {
+ $form->{fromdate} = "1.1.$form->{year}";
+ $form->{todate} = "31.1.$form->{year}";
+ $form->{comparefromdate} = "1.01.$form->{year}";
+ $form->{comparetodate} = "31.01.$form->{year}";
+ last SWITCH;
+ };
+ $form->{duetyp} eq "2" && do {
+ $form->{fromdate} = "1.2.$form->{year}";
+
+ #this works from 1901 to 2099, 1900 and 2100 fail.
+ $leap = ($form->{year} % 4 == 0) ? "29" : "28";
+ $form->{todate} = "$leap.2.$form->{year}";
+ $form->{comparefromdate} = "1.01.$form->{year}";
+ $form->{comparetodate} = "$leap.02.$form->{year}";
+ last SWITCH;
+ };
+ $form->{duetyp} eq "3" && do {
+ $form->{fromdate} = "1.3.$form->{year}";
+ $form->{todate} = "31.3.$form->{year}";
+ $form->{comparefromdate} = "1.01.$form->{year}";
+ $form->{comparetodate} = "31.03.$form->{year}";
+ last SWITCH;
+ };
+ $form->{duetyp} eq "4" && do {
+ $form->{fromdate} = "1.4.$form->{year}";
+ $form->{todate} = "30.4.$form->{year}";
+ $form->{comparefromdate} = "1.01.$form->{year}";
+ $form->{comparetodate} = "30.04.$form->{year}";
+ last SWITCH;
+ };
+ $form->{duetyp} eq "5" && do {
+ $form->{fromdate} = "1.5.$form->{year}";
+ $form->{todate} = "31.5.$form->{year}";
+ $form->{comparefromdate} = "1.01.$form->{year}";
+ $form->{comparetodate} = "31.05.$form->{year}";
+ last SWITCH;
+ };
+ $form->{duetyp} eq "6" && do {
+ $form->{fromdate} = "1.6.$form->{year}";
+ $form->{todate} = "30.6.$form->{year}";
+ $form->{comparefromdate} = "1.01.$form->{year}";
+ $form->{comparetodate} = "30.06.$form->{year}";
+ last SWITCH;
+ };
+ $form->{duetyp} eq "7" && do {
+ $form->{fromdate} = "1.7.$form->{year}";
+ $form->{todate} = "31.7.$form->{year}";
+ $form->{comparefromdate} = "1.01.$form->{year}";
+ $form->{comparetodate} = "31.07.$form->{year}";
+ last SWITCH;
+ };
+ $form->{duetyp} eq "8" && do {
+ $form->{fromdate} = "1.8.$form->{year}";
+ $form->{todate} = "31.8.$form->{year}";
+ $form->{comparefromdate} = "1.01.$form->{year}";
+ $form->{comparetodate} = "31.08.$form->{year}";
+ last SWITCH;
+ };
+ $form->{duetyp} eq "9" && do {
+ $form->{fromdate} = "1.9.$form->{year}";
+ $form->{todate} = "30.9.$form->{year}";
+ $form->{comparefromdate} = "1.01.$form->{year}";
+ $form->{comparetodate} = "30.09.$form->{year}";
+ last SWITCH;
+ };
+ $form->{duetyp} eq "10" && do {
+ $form->{fromdate} = "1.10.$form->{year}";
+ $form->{todate} = "31.10.$form->{year}";
+ $form->{comparefromdate} = "1.01.$form->{year}";
+ $form->{comparetodate} = "31.10.$form->{year}";
+ last SWITCH;
+ };
+ $form->{duetyp} eq "11" && do {
+ $form->{fromdate} = "1.11.$form->{year}";
+ $form->{todate} = "30.11.$form->{year}";
+ $form->{comparefromdate} = "1.01.$form->{year}";
+ $form->{comparetodate} = "30.11.$form->{year}";
+ last SWITCH;
+ };
+ $form->{duetyp} eq "12" && do {
+ $form->{fromdate} = "1.12.$form->{year}";
+ $form->{todate} = "31.12.$form->{year}";
+ $form->{comparefromdate} = "1.01.$form->{year}";
+ $form->{comparetodate} = "31.12.$form->{year}";
+ last SWITCH;
+ };
+ }
+ } else {
+ ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{fromdate});
+ $form->{fromdate} = "${dd}.${mm}.${yy}";
+ ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{todate});
+ $form->{todate} = "${dd}.${mm}.${yy}";
+ $form->{comparefromdate} = "01.01.$yy";
+ $form->{comparetodate} = $form->{todate};
+ }