Test::Vars to detect unused variables

未使用の変数があるかどうかテストするTest::Varsというモジュールを書いた。

使用感は以下のようになる。

$ perl -MTest::Vars -e 'vars_ok "Test::Builder";'
# $pack is used once in &Test::Builder::_caller_context at .../Test/Builder.pm line 1118
# $pack is used once in &Test::Builder::_message_at_caller at .../Test/Builder.pm line 1889
# $ok is used once in &Test::Builder::finalize at .../Test/Builder.pm line 264
not ok 1 - Test::Builder
#   Failed test 'Test::Builder'
#   at -e line 1.
# Tests were run but no plan was declared and done_testing() was not seen.

もっとも、Test::Perl::Criticにも未使用変数の検出機能はあるので、普通はそちらを使えばいい。

これは単に構文木のスキャンがやりたかったので書いた。後悔はしていない。