Hello, I have a question regarding the use of hashes. I'm reading some tutorials a the moment and it uses the following as an example of a hash table variable:
my $address = { Name => 'Bernd Dulfer', Str => 'Kapellenstr. 1', EMail => 'bdulfer@sybase.com', Books => [ 'Lord of the Rings', 'Hitchhikers Guide to the Galaxy', 'The Color of Magic' ] }; print 'Other name: ', $address->{Name}, "\n";
Is $address just being used as a reference in this context? What's the difference if I do the following:
my %address = ( Name => 'Bernd Dulfer', Str => 'Kapellenstr. 1', EMail => 'bdulfer@sybase.com', Books => [ 'Lord of the Rings', 'Hitchhikers Guide to the Galaxy', 'The Color of Magic' ] ); print 'Other name: ', %address->{Name}, "\n";
I noticed that the compiler noted that accessing a hash like that is deprecated. The former is a reference, and the following is directly accessing the variable, no? If the latter is deprecated, should I use the former method to always refer to a hash table? Thank you!
Edit: Also, why would adding a key to the hash cause a compilation error? E.g.
my $address{Bernd} = {causes
syntax error at ./sixth.pl line 14, near "$address{Bernd" Execution of ./sixth.pl aborted due to compilation errors.
What causes that?
In reply to Regarding Initialization and Use of Hashes by Zaemz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |