CGI WEB [ CGI配布 CGI解説 ホームページ作成支援 ]
ホーム|CGI配布|CGIランキング|CGIサポート|CGI解説|ワンタッチボード|ワンタッチメール|クイズ|自宅サーバ|サーバガイド|登録太郎|CGI WEBサーチ|CGI WEB窓口


back
myとlocal





■プライベート関数
myで宣言します。 myで宣言された変数や配列等は他のブロックにある同じ名前の変数や配列等とは別のものとして扱われます。

□宣言例

my $data;
my($data1, $data2);

複数指定する場合は必ずカッコで囲む。 囲まないと$data1のみに適用される。

my $data = 5;
my *FILEHANDLE;

□実験

sub sample {
$flag = 1;
$data = 100;
if ($flag) {
  my $data = 10;
  print "$data\n";
}
print $data;
}

上記のサブルーチンを実行すると

10
100

と表示されます。 このように$dataという同じ名前の変数があってもifブロック内の$dataと、その外での$dataは別の変数として扱われるようになります。

■ローカル関数
localで宣言します。 localで宣言された変数や配列等はそのブロック内とそこから呼び出される関数やサブルーチン内でのみ有効となります。

□宣言例

local $data;
local($data1, $data2);

複数指定する場合は必ずカッコで囲む。 囲まないと$data1のみに適用される。

local $data = 5;
local *FILEHANDLE;



□更新履歴
 2007.04.22 全体的に内容を見直し




CGI WEB