何でもかんでもグローバル変数にしてしまうと、大きなプログラムではデバッグが大変です。Perlにも変数をローカル変数にする方法が用意されています。
にしし ふぁくとりー

にししの Perl/CGI Tips ふぁくとりー

にししふぁくとりーPerl/CGI Tips → このページ

サブルーチン関連TIPS

サブルーチン内だけで使える変数(ローカル変数)を作る

何でもかんでもグローバル変数にしてしまうと、大きなプログラムではデバッグが大変です。Perlにも変数をローカル変数にする方法が用意されています。

SOURCE 1

方法はとても簡単で、変数を宣言する際に、頭に「 my 」を付けるだけです。
my $hogehoge;
これでローカルな変数になります。

SOURCE 2

サブルーチンの中で myを付けて変数を宣言すれば、それはそのサブルーチンの中だけで有効な変数になります。 他のサブルーチンなどで同名の変数があったとしても、それらには影響ありません。
sub calc
{
   my $a = shift @_;
   my $result = $a * 3;
   return $result;
}
上記の変数 $a や $result は、calcサブルーチン内だけで有効な変数です。

SOURCE 3

サブルーチンよりももっと狭い範囲内だけに有効なローカル変数も作れます。
例えば、次の変数 $loop は、for文の中だけで有効な変数です。
for( my $loop=1 ; $loop<10 ; $loop++ ) {
   print $loop . "\n";
}

SAMPLE SOURCE

ソースコード14 , 出力結果14
2004/03/02. Tue.

このページに記載の内容は、必ずしも正しいとは限りません。ご注意下さい。
もっと良い方法がありましたら、ぜひ、教えて頂けるとありがたいです。
製作者にししへのご連絡は、メールなどでお送り下さい。匿名のコメントも送信できます。
どのページへもリンクは歓迎します。複製・転載はご遠慮下さい。