#!/usr/bin/perl -w use strict; my $foo = "foo"; my $bar = "bar"; my %hfoo1 = ( "$foo$bar" => "foobar", # Works $bar.$foo => "barfoo", # Works ); my $hfoo2 = { "$foo$bar" => "foobar", # Works $bar.$foo => "barfoo", # Works }; my %hfoo3 = ( map { $foo.$bar => "foobar" } 1, # Works ); my %hfoo4 = ( map { "$foo$bar" => "barfoo" } 1, # Syntax error? # ^^^ );