Alex: Coderef innerhalb von new() weitergeben

Beitrag lesen

ok, dann frag ich theoretisch mal nach:

Du hast ein ModulA und Module 1..n.

ModulA soll eine Menustruktur aller Module enthalten, dazu dachte ich mir könnte jedes Modul doch praktischerweise in der new() Funktion
eine Funktion aus ModulA aufrufen um diese Menustruktur aufzubauen. Daher add_Menu().
Das Menu hat 2 Variablen ( Hashref und Arrayref ). In der Arrayref sind die sortierten Menuitems und in der Hashref sind die Menuitems als Keys und die Coderef als Values.

Jedes Modul 1..n übergibt nun eine Coderef und eine Arrayref im new().

Soviel zur Theorie

Wenn die Syntax oben zu unleserlich ist, dann eben diese:

for my $item ( @menu_items ) {

$Menu_Funs->{ $item } = $code_ref     # oder Objekt
}

Ich restarte den Apache und das Script läßt sich laden. Die Module sind ordentlich registriert. Ich lade die Seite im Browser erneut und Perl hängt sich an der Stelle auf sofern es eine Coderef oder ein Objekt registrieren soll.
Das Anlegen der Arrayref in ModulA funktioniert einwandfrei, die Hashref ist also das Problem.

Achja, ich nutze mod_perl und werde das Gefühl nicht los, dass es sich um ein Cacheproblem oder einen Bug handelt.

Hast du ne bessere Idee wie ich das realisieren könnte?
Danke, Alex