use strict; use warnings; use Data::Dumper; my ( %artikel, $artikel, $artikel_id, $artikel_nr, $bestand ); # zunächst erstelle ich ein Hash mit allen Artikelbeständen $artikel { 1 } = { artikel_nr => 'Artikel_1', bestand => 10, }; $artikel { 2 } = { artikel_nr => 'Artikel_2', bestand => 20, }; # in Wirklichkeit füttere ich den Hash über eine Schleife, die Werte kommen aus einer Datenbank print "Inhalt von \%artikel:\n"; print Dumper ( %artikel); print "\n\n"; # die Artikelbestände sind unterteilt in Unterbestände, sog. Chargenbestände; der Gesamtbestand (bestand) ist die Summe der Chargenbestände (c_bestand). Die Chargenbestände lese ich ebenfalls aus der Datenbank ein. Jede Charge ist durch eine ID gekennzeichnet. my ( %c_artikel, $c_artikel, $c_artikel_id, $c_id, $c_bestand ); # nun erstelle ich einen Hash mit allen Chargenbeständen $c_artikel { 1 } = { c_id => 'Charge_1', c_bestand => 3, }; $c_artikel { 1 } = { c_id => 'Charge_2', c_bestand => 7, }; $c_artikel { 2 } = { c_id => 'Charge_1', c_bestand => 9, }; $c_artikel { 2 } = { c_id => 'Charge_2', c_bestand => 11, }; # in Wirklichkeit füttere ich den Hash über eine Schleife, die Werte kommen aus einer Datenbank print "Inhalt von \%c_artikel:\n"; print Dumper ( %c_artikel); print "\n\n";