Module::Starter::PBPで最初のテストが通らなかった場合の対処メモ

TAKESAKOさんの「Part1 正しいPerl/CGIの書き方:ITpro」を参考にモジュールを書いてみようとしたら、perl Build testしたところで

t/00.load.........NOK 1
#   Failed test 'use MyLib::Hoge;'
#   at t/00.load.t line 4.
#     Tried to use 'MyLib::Hoge'.
#     Error:  Global symbol "$VERSION" requires explicit package name at /home/ryo/MyLib-Hoge/blib/lib/MyLib/Hoge.pm line 7.
# Compilation failed in require at (eval 3) line 2.
# BEGIN failed--compilation aborted at t/00.load.t line 4.
Use of uninitialized value in concatenation (.) or string at t/00.load.t line 7.
# Testing MyLib::Hoge
# Looks like you failed 1 test of 1.
t/00.load.........dubious
        Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 1
        Failed 1/1 tests, 0.00% okay
t/perlcritic......ok
t/pod-coverage....ok
t/pod.............ok
Failed Test Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/00.load.t    1   256     1    1 100.00%  1
Failed 1/4 test scripts, 75.00% okay. 1/4 subtests failed, 75.00% okay.

なんてエラーが出て最初のビルドが通らず。環境はCentOS5.0(x86_64)。

何はともあれググってみると、「Module::Starter::PBP v0.0.3のエラー (Weblog on mebius.tokaichiba.jp)」というエントリにたどり着いたので、作ったモジュールの7行目

use version; $VERSION = qv('0.0.3');

となっている部分を

use version; our $VERSION = qv('0.0.3');

に変更したら無事にテストが通りました。元のファイルを修正するのはあまり気が進まないので、ひとまずモジュールを作る度にこの手順を踏むことにしよう。今のところ単体のモジュールをそんなにガリガリ書く雰囲気でもないし。