$product[$x]{name} is the name of product $x. $product[$x]{opts}[$i] is the option $i of product $x. @product is the list of products. map { $_->{name} } @product is the list of product names. @{$product[$x]{opts}} is the list of options of product $x. #### $product{$name}[$i] is the option $i of product $name. keys %product is the list of product names. @{$product{$name}} is the list of options of product $name.