<<目次へ


subルーチン内での変数宣言(myとlocal)


 subルーチン(関数)内ではスカラー変数を宣言するときに

my $x;

あるいは

local $x;

と宣言しましょう。 原則として1つのパッケージに1つの関数といっているわけですから,myだけを使っておけば良いということになるでしょう。とりあえず,よく分からなくても関数を定義するときは変数宣言のときにmyを書いておくようにしておけばよろしい。 正確なことを知りたければweb上を検索すればいくらでも見つかる。



myとlocalの違い

@ myで宣言した変数はある1つのサブルーチン内でのみ有効です。

A localで宣言した変数はある複数のサブルーチン間でのみ有効です。

B これら2つはmainルーチンとは独立しているので,mainルーチンから参照することはできません。