Here, you're trying to use an array (qw(...)) where you can only put a scalar. What you want is an array reference:[qw(...)]my %packet_fields = ( $Idents{ Format_7 } => qw( ident flags
I'm not entirely clear on what you're hoping for here: $%packet_fields{ $ident} , but you can bet that $% is not going to be a useful combination of sigils. It's probably parsed as a special variable followed by a bareword and panic.
When in doubt, use the general form of dereferencing, which is the sigil you would use if you had an ordinary variable, then a curly-wrapped expression returning a rereference, and then any indexing you would use on an ordinary variable of the referenced type. You can nest these as deeply as you need to.
Check out perldoc perlreftut again.
In reply to Re: Help with hash/array data structure
by Roy Johnson
in thread Help with hash/array data structure
by robinbowes
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |