in reply to Fixing: Experimental keys on scalar is now forbidden

Try hash instead of hashref. "+" added to avoid mis-interpretation of "map":
@tempCustArray = keys %{+ map { $_ => 1 } @webCustomers };
UPDATE 1: That passes syntax, but does not seem to give the desired result .. still testing ....

Update 2: This works:

my @t = keys %{+{ +map { $_ => 1 } qw|uno dos tres| }}
Now I have to figure out WHY it works..... and pre-Update1 does not..

Update 3: The "+" signs are unnecessary .. this works:

@tempCustArray = keys %{{ map { $_ => 1 } @webCustomers }}
So - it seems to be a question of why the extra braces are required.

                Memory fault   --   brain fried

Replies are listed 'Best First'.
Re^2: Fixing: Experimental keys on scalar is now forbidden
by ikegami (Patriarch) on Jun 06, 2018 at 07:25 UTC

    it seems to be a question of why the extra braces are required.

    The outer %{ ... } is a hash dereference.

    The inner { ... } creates a hash and returns a reference to it.

    In your first snippet, you have a hash dereference, but no hash.

      Thanks for the clarification, ikegami (++).

      The postfix syntax below also works, and is easier to read.

      my @t = keys {map { $_ => 1 } qw|uno dos tres| }->%*;

                      Memory fault   --   brain fried

Re^2: Fixing: Experimental keys on scalar is now forbidden
by TheVend (Novice) on Jun 06, 2018 at 06:19 UTC
    WOW, that worked like a champ! Thank you so much!