#Nur eine "Hauptgruppe"; $links_notebook{musterfall1} ={ 1 => [ { art => "textfield", name => "Muster1", bez => "Muster1:",}, { art => "textfield", name => "Muster2", bez => "Muster2:"}, { art => "popup_menu", name => "Muster3", bez => "Muster3:"}, { art => "textarea", name => "Muster4", bez => "Muster4:", rows => 2, cols => 20, wrap => "virtual"}, ]}; .... $links_notebook{musterfall2} = { 1 => [ { art => "textfield", name => "Muster5", bez => "Muster5:", fieldset => "1", fieldsetlegend => "MusterHaupt1",}, { art => "textfield", name => "Muster6", bez => "Muster6:", fieldset => "1", fieldsetlegend => "MusterHaupt1",}, { art => "textfield", name => "Muster7", bez => "Muster7:", fieldset => "1", fieldsetlegend => "MusterHaupt1",},], 2 => [ { art => "Muster8", name => "bestattungsunternehmen", bez => "Muster8:", fieldset => "1", fieldsetlegend => "MusterHaupt2",}, { art => "textfield", name => "Muster9", bez => "Muster9:", fieldset => "1", fieldsetlegend => "MusterHaupt2",}, ], 3=>[ { art => "textfield", name => "Muster10", bez => "Muster10:", fieldset => "1", fieldsetlegend => "MusterHaupt3",}, ],}; .... sub anzeige_link { my $element_ref = shift; my $link = shift; my @fields; my @table1; my @table2; my $fieldset; my $fieldsetlegend; foreach my $key(sort{$a <=> $b}keys %{$element_ref->{$link}}){ print "Hauptgruppe $key"; my @fields =(); foreach $f (@{$element_ref->{$link}->{$key}}){ if (defined $f->{fieldset}) { $fieldset = "1"; $fieldsetlegend ="$f->{fieldsetlegend}"; } else{ undef $fieldset; } my $bez = $f->{bez}; no strict 'refs'; push(@fields,TR( td (escapeHTML ($bez)), td ($f->{art} (-name => $f->{name}, -size => $f->{size}, -rows => $f->{rows}, -cols => $f->{cols}, -wrap => $f->{wrap}, -value => $f->{value}, -label => $f->{label}, -checked => $f->{checked}), ) ) ); } print "$fieldset"; if (defined $fieldset){ push (@table1, td(fieldset(legend("$fieldsetlegend"), table (@fields)))); } else { push (@table1, td(table (@fields))); } } push (@table2, table(@table1)); print table (@table2); }