in reply to Re: passing a variable as a string
in thread passing a variable as a string

# Anything to the left of a # => is treated as like it's 'single quoted' # That means variables are not interpolated.

Variables are interpolated on the left of a =>. E.g.

perl -MData::Dumper -le '$foo = "blah"; %a = ( $foo => 42 ); print Dumper \%a' $VAR1 = { 'blah' => 42 };

Hooray for DWIMery.

Update: Fixed formatting

Replies are listed 'Best First'.
Re^3: passing a variable as a string
by davido (Cardinal) on Feb 28, 2006 at 18:58 UTC

    Damn you for being right! (just kidding)

    And here's the relevant quote from perlop:

    The => operator is a synonym for the comma, but forces any word (consisting entirely of word characters) to its left to be interpreted as a string (as of 5.001). This includes words that might otherwise be considered a constant or function call.

    I won't be modifying my previous post; let the record show the error and its clarification. I'm sure someone will find it useful.

    As for my assessment as to why his anonymous hash has only one element, and what might be done to correct the situation, my advice is still applicable.


    Dave