Hallo.
Ich versuche einen Hash an eine Klasse zu übergeben.
Das mache ich wie folgt:
my $query = new CGI;
use Gallery::Action;
my $action = new Gallery::Action({
parameters => _create_parameter_hash($query->url_param)
})->execute();
_create_parameter_hash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
my %known_parameter = (
p => 'Modul', # core parameter - modul to execute
out => 'OutputType', # output type (default html)
admin => 'AdminForced', # executing call only if user is admin
);
sub _create_parameter_hash {
my @params = @_;
my %hash_to_return;
for my $param (@params) {
my $hash_index =
exists $known_parameter{lc $param} ? $known_parameter{lc $param}
: $param
;
$hash_to_return{$hash_index} = $query->url_param($param);
}
return %hash_to_return;
}
und hier wirds dann zugewiesen:
sub new {
my ($class, $arg_ref) = @_;
my $new_object = bless anon_scalar(), $class;
$random_number_of{ident $new_object} = int(rand(10000));
### insert known parameters
$known_parameters_of{ident $new_object} = $arg_ref->{parameters}; #####
return $new_object;
}
und ich versuche dann so zuzugreifen:
$known_parameters_of{ident $self}{'Modul'}
Kann mir jemand helfen? Also es kommen definitiv p und out als Parameter an und haben auch Werte!
Danke
Viele Grüße :)