http://www.perlmonks.org?node_id=1057185


in reply to Re^2: shift implicit dereference
in thread shift implicit dereference

I get the same results as Sören. I'm using v5.18.1 (darwin-thread-multi-2level).

(MONIKER() => 'Monica') produces 'name' => 'Monica' in the Dumper output.

-- Ken

Replies are listed 'Best First'.
Re^4: shift implicit dereference
by LanX (Saint) on Oct 06, 2013 at 19:44 UTC
    or maybe putting in parens is more obvious?

    DB<117> use constant MONIKER =>"name" DB<118> %hash1 = ( (MONIKER) => 'Monica' ); => ("name", "Monica") DB<119> $hash1{ (MONIKER) } => "Monica" DB<142> [map { my $y = uc; ({$y => 1}) } "a".."c"] => [{ A => 1 }, { B => 1 }, { C => 1 }] DB<143> print ((1==0) ? "true" : "false") => 1 false DB<144> sub tst { ${ (shift) } } DB<145> tst \"a" => "a"

    Cheers Rolf

    ( addicted to the Perl Programming Language)