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

Doesn't that just dynamically create contents for a hash? I'm after a dynamically create name for a hash.
Or am I being slow and missed your point there? :-)
  • Comment on Re^2: Dynamically named hashes (w or w/o strict)

Replies are listed 'Best First'.
Re^3: Dynamically named hashes (w or w/o strict)
by jeffa (Bishop) on Dec 11, 2008 at 15:27 UTC

    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)
    
      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.

Re^3: Dynamically named hashes (w or w/o strict)
by moritz (Cardinal) on Dec 11, 2008 at 15:29 UTC
    Sorry, I answered your question But then you are going to have to create a dynamically named anonymous hash? and ignored the "named" part, because anonymous and named are contradictory.

    Whenever you think you want variables with variable names, you can just use a hash. In this case you then have a Hash-of-Hash structure. If you want variable named variables nonetheless, search for weak references.