Sachin Hegde wrote:
>
> How do I efficiently delete all the entries in a Hash of arrays.
> suppose I have
> %HOA = { one => [ "a","b","c"],
>                 two => [ "x","y","z"],
>               };
> I want
> %HOA = {};

Hi Sachin.

Your mistake lies in the difference between a hash and
a reference to a hash. The construct { .. } forms an
anonymous hash - a scalar value which is a reference
to a hash. This is a single value and can't be assigned
directly to a hash variable as a hash always requires its
content in (key, value) pairs.

I don't know exactly what you're trying to do, but for
your example code, either

  %HOA = (
    one => [ "a","b","c"],
    two => [ "x","y","z"],
  )

or

  $HOA = {
    one => [ "a","b","c"],
    two => [ "x","y","z"],
  }

will work fine. The first builds a hash with keys (one, two)
with array references for the corresponding values. The
second builds an anonymous hash with the same contents, and
assigns a reference to it to the scalar variable $HOA.

HTH,

Rob






-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to