Hello,
I have a hash of hashes, and I'm trying to bulk-assign some key/value pairs to the referenced hash, using a technique I read on the perlmonks list (hash slices, see link below). I've never been good at working out syntax where complex data structures are concerned, and this eludes me completely. Could someone please help me with the syntax of the assignment, and retrieval of key/value pairs?

Thanks - I appreciate it!
Chap
*************************
#!/usr/bin/perl -d

use strict;
use warnings;

my %schoolprops;

# + -------------------------------------------------------------------------
#  |  %schoolprops - a hash of references to hashes
#  |
#  |  key          value    hash
# | ----------- -----------------------------------------------------------
#  |  Adams        -->      {a => 1, ar => 19, af => 13, aw => 11}
#  |  Baker        -->      {b => 2, bq => 20}
#  |  Charlie      -->      {c => 3, cc => 33, cu => 38}
# + -------------------------------------------------------------------------

$schoolprops{Adams} = \{};      # map 'Adams' to a ref to an empty hash

my $hashref = $schoolprops{Adams}; # create a ref to a hash.

my @keys = ( 'a', 'ar', 'af', 'aw' );
my @values = ( 1, 19, 13, 11);

#
# The following is trying to assign an array to a "hash slice".
# (courtesy http://www.perlmonks.org/?node_id=4402, who did a simpler
# version that did not involve references.)
#
@{{$hashref}->{...@keys}} = @values;        # don't know if this is right

while (my ($k, $v) = each %{$hashref}) { # this is just one of many things
    print "$k => $v\n";                     # I've tried; this one fails at 
runtime.
}
#EOF
*************************


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to