erselbst
Goto Top

Verschachtelte Hash mit Array

Hallo!
Ich möchte eine Navigation ausgeben, wo zuerst die Kategorien sortiert ausgegeben werden, und zu jeder Kategorie die Artikel sortiert ausgegeben werden.

Mein Aktuelles Problem ist, wie bekomme ich die Artikel als Array in die jeweilige Kategorie?

#!/usr/bin/perl

BEGIN {
%nav = ();
}

while (<DATA>) {
  chomp($_);
  my ($cat, $post) = split(/\:/, $_);
  $nav{$cat} = push(@{$nav{$cat}}, $post);
}

END {

foreach my $category(sort keys %nav) {
  print $category,"\n";  
  foreach my $article (sort {lc($a) cmp lc($b)} @{$nav{$category}} ) {
    print "- ",$article,"\n";  
  }
}

}
__DATA__
cat1:post1
cat1:post2
cat1:post3
cat2:post1
cat2:post2
cat3:post1
cat3:post2
cat3:post3

Content-ID: 72270692150

Url: https://administrator.de/contentid/72270692150

Ausgedruckt am: 24.11.2024 um 05:11 Uhr

7907292512
Lösung 7907292512 13.09.2023 aktualisiert um 19:29:41 Uhr
Goto Top
Aus dem doppelt gemoppelten
$nav{$cat} = push(@{$nav{$cat}}, $post);
werde
push(@{$nav{$cat}}, $post);

TIO.run

Fertsch.
erselbst
erselbst 14.09.2023 um 08:20:20 Uhr
Goto Top
Hehe, doppelt gemoppelt ;) Eigentlich hatte ich schon die Daten und weise diese nochmal dem Hash zu.

Vielen Dank für deine Hilfe!
Serie: Perl Datenstrukturen
Verschachtelte Hash mit Array2