Siechfred (nicht eingeloggt): Ineinander verschachtelte Variablen

Beitrag lesen

Hell-O!

$test ist leer

$ $gruppe = 'B'

%B11 ist bereits deklariert

$B11{place} = 'Frankfurt'

Soweit klar.

$test = $gruppe . '11{place}'; # also $test = B11{place}

Das geht so nicht. Hast du die von mir verlinkte Seite tatsächlich gelesen? Du musst Perl schon mitteilen, was Inhalt deiner symbolischen Referenz sein soll. Auf dein Beispiel übertragen:

@gruppen = ('A', 'B', 'C');  
@keys = ('place', 'date', 'event');  
  
foreach $gruppe(@gruppen) {  
  $varname = $gruppe . '11';  
  # ${$varname} = {};  
  foreach $key(@keys) {  
    ${$varname}{$key} = '1';  
    print '$'.$varname.'{'.$key.'} = '.${$varname}{$key}."\n";  
  }  
}

Eine richtig schöne Lösung ist das allerdings nicht, und da ich nicht so recht weiß, worauf du hinauswillst, kann ich dir im Moment auch nicht weiterhelfen.

Siechfred