Stimmt, Du hast recht. Du kannst es entweder ohne sprintf machen:
my %cwd = (
0 => "02.01.$year",
1 => "01.01.$year",
2 => "31.12.@{[$year-1]}",
3 => "30.12.@{[$year-1]}",
4 => "29.12.@{[$year-1]}",
5 => "04.01.$year",
6 => "03.01.$year"
);
oder Du legst eine Referenz auf sprintf:
my %cwd = (
2 => sub{sprintf "31.12.%d", $year - 1},
);
return $cwd{$self->wd(1,1,$year)->{num}}->();
MfG