Perl
›
サブルーチン
›
here
サブルーチンの定義は、スコープの影響を受けません。
{
sub func {
return 2;
}
}
my $ret = func();
サブルーチンは、スコープの影響を受けません。一見すると、funcは、スコープの外では、見えないものと思ってしまいがちですが、そうなりません。
サブルーチンの定義は、コンパイル時に、シンボルテーブルというものに登録されます。シンボルテーブルは、プログラムのどこからでも参照することができるため、サブルーチンも、プログラムのどこからでも参照できます。
サンプル
サブルーチンの定義はスコープの影響を受けないことを理解するサンプルです。
use strict;
use warnings;
{
sub func {
return 2;
}
}
print "1: サブルーチンの定義は、スコープの影響を受けない。\n";
my $ret = func();
print "\$ret は、$ret です。\n";
Perl
›
サブルーチン
›
here