my


my EXPR

 変数をスコープ(範囲)内だけで参照できるようにします。
 また、use strict;と組み合わせて変数名のスペルミス防止などにも役立ちます。

サンプルプログラム

my $foo = 100;
if ($foo > 0) {
	my $num = 1 / $foo; # $numはこのブロックの中のみ有効
	print $num, "\n";
}
if ($foo % 2 == 0) {
	my $num = $foo / 2; # $numはこのブロックの中のみ有効
	print $num, "\n";
}
print $num, "\n"; # スコープの外なので表示されない
foreach my $i (1..10) {
	print $i, "\n"; # $iはこのブロックの中のみ有効
}
print $i, "\n"; # スコープの外なので表示されない
use strict; # 安全でない構文を制限する

my $mode = 100;
print $moed, "\n"; # $moedがいきなり登場しているのでエラー

関連項目

・local演算子