構文 |
|
local 変数 |
返り値 |
|
変数値 |
説明
- 変数の値を一時的に避難して,新しい値に上書きします。
- ローカル変数として使う場合には通常myを使う方が高速かつ安全です。
- $,などの特殊変数に対してはmyを使うことができないので,この場合はlocalを使用します。
使用例
#!/usr/bin/perl
use strict;
use warnings;
my @foo = (10, 20, 30);
{
local $, = "\n";
print @foo;
print "\n";
}
print "=====\n";
print @foo;
print "\n";
#!/usr/bin/perl
use strict;
use warnings;
our $val = 0; # (A)
print "main1: $val\n"; # 0 (A)の変数
foo();
print "main2: $val\n"; # 0 (A)の変数
sub foo {
local $val = 1; # (B)
print "foo1 : $val\n"; # 1 (B)の変数
bar();
}
sub bar {
print "bar : $val\n"; # 1 (B)の変数
}
#!/usr/bin/perl
use strict;
use warnings;
our $val = 0; # (A)
print "main1: $val\n"; # 0 (A)の変数
foo();
print "main2: $val\n"; # 0 (A)の変数
sub foo {
my $val = 1; # (B)
print "foo1 : $val\n"; # 1 (B)の変数
bar();
}
sub bar {
print "bar : $val\n"; # 0 (A)の変数
}