関数順 インデックス
目的別 インデックス

構文
 
 my 変数

返り値
 
 変数値

説明

  • 変数をスコープ(範囲)内だけで参照できるようにします。

使用例

ローカル変数を利用する
#!/usr/bin/perl
use strict;
use warnings;

my $val = 100; # (A)
{
  my $val = 200; # (A)とは別の変数を作成
  print $val, "\n"; # 200;
}
print $val, "\n"; # 100のまま
ループの中だけで有効な変数を使用する
#!/usr/bin/perl
use strict;
use warnings;

my $i = -1;
foreach my $i (1..10) {
  print $i, "\n"; # 1~10を順番に表示
}
print $i, "\n"; # -1のまま
複数の変数を指定する
#!/usr/bin/perl
use strict;
use warnings;

my ($i, $j) = (-1, -1);
foreach my $i (1..10) {
  $j++;
  printf "%d %d\n", $i, $j;
}
print "\n";
print $i, "\n"; # -1のまま
print $j, "\n"; # 9
※複数の変数をまとめて指定することもできます。

スコープ外での変数の参照
#!/usr/bin/perl
use strict;
use warnings;

foreach my $i (1..10) {
  print $i, "\n";
}
print $i, "\n"; # この行がエラーになります
※use strictを使用している場合,スコープ外での参照はエラーになります。