3

次のコードがあります。

$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
);
4

2 に答える 2