次のコードがあります。
$headers;
some_sub( %$headers );
電話some_sub
するとエラーが発生します:
未定義の値を HASH リファレンスとして使用することはできません ...
ただし、同様のコードではエラーは発生しません。
$headers->{ x };
最初の例と 2 番目の例では、自動有効化が同じように機能しないのはなぜですか?
UPD
@ThisSuitIsBlackNotで指摘しました。私は本当に尋ねます:
なぜ私の$ h; $h->{foo} が機能し、私の $h; %$h はしません
UPD
実際のコード:
my $email = Email::Simple->create(
header => [
To => $address,
From => $cnf->{ from },
Subject => $subject,
'Content-Type' => 'text/html; charset="utf8"',
%$headers,
],
body => $body
);