local EXPR
local
は、ブロックや関数、eval
などの中で、引数として指定された変数をローカルなものにします。
localの使い方
変数をカッコで囲えば複数の変数を宣言できます。
local ($a, $b, $c);
EXPR
に代入を行なうことも可能で、ローカルな変数の初期化として使うことができます(初期化子を与えなかった変数の値は、未定義値となります)。
local $a; local $b = 1;
local
は実行時のコマンドですから、ループを通るごとに実行されるので、変数の宣言はループの外でした方が効率的です。
一般には、local
よりもmy
を使ったほうが速く、安全ですが、特殊変数をローカル変数として扱いたい場合などで必要になることがあります。