in reply to Re^2: Dynamically named hashes (w or w/o strict)
in thread Dynamically named hashes (w or w/o strict)

One thing is for sure, until you explain to us why you are "trying to create a set of dynamically named hashes, with an array of references pointing to them" we will probably miss your point. :)

Is there some reason why an anonymous hash won't do exactly what you need without having to have an additional array? After all, you can always create a dynamic list of the hashes keys and values whenever you want.

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)

Replies are listed 'Best First'.
Re^4: Dynamically named hashes (w or w/o strict)
by chrishowe (Acolyte) on Dec 11, 2008 at 15:37 UTC
    lol, the reason for me using "no strict" was due to a fundamental lack of understanding :-)

    Kennethk's post below has cleared it up a bit for me (see comment).

    my $hash_ref = {one => "number"};
    my $i = 0;
    $hash_ref->{"a"} = "letter"; push @array, $hash_ref; $hash_ref = {}; #This "resets" or creates a new reference?
    %{$hash_ref} = (banana => "fruit",
    carrot => "vegetable");
    push @array, $hash_ref;

    I thought if you used the same name then it would alter the same hash. So to narrow down my understanding gap... anonymous hashes. If I am still fundamentally wrong here then please let me know :-) Cheers!
      $hash_ref = {}; #This "resets" or creates a new reference?

      The latter. Any time you write $variable = {} or $variable = { foo => "bar" }, etc, Perl creates a new anonymous hash.