push (@{$year_index {$year}}, $rlEntry); # By Year #### 1995:Actor:Nicholas Cage 1995:Picture:Braveheart 1995:Supporting Actor:Kevin Spacey 1994:Actor:Tom Hanks 1994:Picture:Forrest Gump 1928:Picture:WINGS #### open (F, "oscar.txt") || die "Could not open database: $:"; %category_index = (); %year_index = (); while ($line = ) { chomp $line; ($year, $category, $name) = split (/:/, $line); create_entry($year, $category, $name) if $name; } sub create_entry { # create_entry (year, category, name) my($year, $category, $name) = @_; # Create an anonymous array for each entry $rlEntry = [$year, $category, $name]; # Add this to the two indices push (@{$year_index {$year}}, $rlEntry); # By Year push (@{$category_index{$category}}, $rlEntry); # By Category }