$product[$x][$y] is short for $product[$x]->[$y]. In other words, $product[$x][$y] means $product[$x] needs to contain an array ref. However, you claim that $product[$x] contains the product name. $product[$x] cannot contain both an array ref and a product name, so you have a problem with the design of your data structure.
Perhaps you want something like:
$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.
or maybe you'd like to use a hash of products instead of an array of products:
$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.
(Product names must be unique when using a hash of products.)
In reply to Re: Multi-dimensional Array Issue
by ikegami
in thread Multi-dimensional Array Issue
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |