das schoene bei dieser version ist, dass man diesen Hash gleich auch noch fuer weitere Konfiguration verwenden kann, z.B. welches Template zu welcher sub gehoert, standardverhalten, ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package MyApp::Config;
use warnings;
use strict;
use Readonly;
Readonly $Actions => {
user_index => {
code => \&user_index,
template => 'user_index.tmpl',
order_by => 'name desc',
},
user_unew => {
code => \&user_new,
template => 'user_unew.tmpl',
title => 'Blablubb',
},
user_uchange => {
code => \&user_change,
template => 'user_uchange.tmpl',
error_template => 'user_uchange_error.tmpl',
title => 'heidiho',
default_mask => 0664,
},
# ...
};
oder so aehnlich.
gerade bei CGI-Scripten verwende ich sowas sehr gerne; dann wird die subroutine fuer 'code' meist recht schlank, wenn ich daraus den Namen der Template-Datei sowie einen Hash mit den Werten zurueckgebe, und die dann im hauptprogramm ueber einen standardmechanismus befuelle.
Hmmm, eigentlich muesste man sowas auch sehr gut mit
YAML abbilden koennen...