[Perl] use strictを導入してみた

use strict; というものを知りました。 なんでも、Perlで、変数宣言を厳密にして、グローバル変数を禁止するためのおまじないだそうです。 このモジュール、あちこちのスクリプトでよく見かけるので調べてみたら、超有名かつ基本的なモジュールだそうです。(汗 404 Blog Not Found:perl - use strict; # and be happy Perlで必須の記述 use strict と use warnings - Sakura scope Perl の変数に関するちょっとした誤解と、動的な性質について : NDO::Weblog

Perlビギナーの皆様へ - 何を書くにもまず 'use strict'

strict プラグマこそが、我々のミスを見つけてくれる、プログラマーの強力な味方です。 「見通しの悪い複雑なスクリプト」を書いてしまう事への懸念は、すべてこの strict プラグマが晴らしてくれます。

どんなにコードを書くときにも、かならずコードの先頭で、  use strict;  と書いておきましょう。

そして、変数を作る際は、 my $hoge = 1; というように、「スコープ (関数) 内でのみ有効な変数宣言」 をつけましょう。 こうすることで、少なくとも僕は後悔した事はありません。 幾度となく、助けてもらった思い出ばかりです。 Perl/CGI辞典 - 土井 毅さん著 - にて use strict が推奨されていない件について - iandeth.

なるほど。 よし、さっそく自分のスクリプトにも導入してみよう。 use strict; ...んがっ、エラー出まくり!!! 爆死。 ...結局数時間かけて、変数全部にmyをつけて、関数間の変数の受け渡し(returnとか)をきっちり書いて、ライブラリをパッケージに置き換えたら解決しました。 これでPerl初級は卒業できたかな?
カテゴリ: