Hallo
habe ien Problem beim erstellen einer tabelarischen liste aus einem mehrdimensionalen array
( hoffe habe das so richtig umschrieben )
also mein arry is wie folgt aufgebaut :
@categories = (
'Autos:Opel:Astra',
'Autos:Opel:Corsa',
'Motorräder:Kawa:xx1',
'Motorräder:Susi:600:xx1',
Motorräder:Susi:750:xx1'
);
da hloe ich mir mit
foreach $category (@categories) {
if ($category =~ /^([^:]+):/) {
$category = $1;
}
push (@categories_to_print, $category) unless $categories_to_print[$#categories_to_print] eq $category;
}
my @categories_to_print = (sort @categories_to_print);
die Hauptliste
in einer for schleife werden diese dann tabelarisch aus gegeben, soweit so gut.
jetzt mein problem
wenn ich versuche die jeweils dazugehörigen unterbereiche zu bekommen, bekomme ich keinen rückgabe wert :-(
was is an folgendem code falsch ß
my $cat = $categories_to_print[$j];
my @kategorien = kategorie_liste_holen ($cat);
my @kategorie_zeilen = @kategorien ?
map $CGI->td( " " , $_ ), @kategorien :
$CGI->td( "keine Liste" );
print $CGI->Tr( [@kategorie_zeilen
] );
hier die sub kategorie_listeholen
sub kategorie_liste_holen {
my $cat = shift;
my @sub_categories_to_print;
foreach my $category (grep { /^$cat:/; } @categories) {
if ($category =~ /^($cat:[^:]+):/) {
$category = $1;
}
push (@sub_categories_to_print, $category) unless $sub_categories_to_print[$#sub_categories_to_print] eq $category;
}
return @sub_categories_to_print;
}
hoffe mir kann da jemand weiterhelfen