出力は次のような感じになる。警告の行番号はソースのコメント等でも変わるので、"***" でつぶした。
上のソース、最初のほうに autovivification" というプラグマを入れてある。標準的な 配布物には入ってないかもしれない。私は からインストールして、この記事のときの autovivification パッケージのバージョンは から対応しているらしい。上の例は「デバッグ後」のため、そのプラグマをコメントアウトしても問題なく動く。
例えば、メンバ変数にオブジェクトを代入するつもりがミスで忘れていて、そのメンバ変数のオブジェクトのメンバ変数に何かを代入をしても、何も警告がないため「ドハマリ」してしまう。(そして、私はこのモジュールを見つけたわけだ。orz)
CPANから autovivification モジュールを導入したあと、次のようにするとエラーを出してくれる。