本文へスキップ
BecomeCoder

Perlのエラー · エラー4

Use of uninitialized value ― 未定義値を使った(警告)

undef(未定義)の値を文字列や数値として使うと出ます。ハッシュの空振りなどで頻発します。

出るコード

use warnings;
my %user = (name => "Aoi");
print "年齢: $user{age}\n";   # age キーは無い → undef

エラーメッセージ

Use of uninitialized value $user{"age"} in concatenation (.) or string at script.pl line 3.

直し方

$user{age} // "不明"(定義済みか演算子 //)で既定値を用意します。exists $user{age} で確認してもよいです。