my $temp = {};

こうやって宣言したとき、
$temp->{'abc'} = '';
$temp->{'bcd'} = '';
 |
$temp->{'ijk'} = '';
のような初期化を1行で済ませたいのですが、やり方を教えてください。

my $temp = {};
$temp = map { {$_ => ''} } qw/abc bcd cde def efg fgh ghi hij ijk/;

とやったら

Can't use string ("9") as a HASH ref while "strict refs" in use at test.pl line xxx.

とでました。

$temp->{qw/abc bcd cde def efg fgh ghi hij ijk/} = ''x9;

これだとエラーは出ませんが、初期化できませんでした。