localは、パッケージ変数の値を一時的に退避し、別の値を入れておいて、パッケージスコープを抜けたら、元に戻すことが出来る。
local - パッケージ変数を一時的に退避して復元 - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステム開発
そもそも、これは変数宣言に使うものではないので注意。
$our_var2に2を入れて、PackageAの中では、localを指定しつつ20を入れる。
[bg1@dti-vps-srv93 local]$ vi local.pl [bg1@dti-vps-srv93 local]$ perl local.pl $our_var1 = 1 $our_var2 = 2 $our_var1 = 10 $our_var2 = 20 $our_var1 = 10 $our_var2 = 2 [bg1@dti-vps-srv93 local]$
PackageAを抜けた時、$our_var1は10を入れたままになってるのに対し、$our_var2は2に戻っている。
退避したからね。
Sample/perl/local/local/src/local at master · bg1bgst333/Sample · GitHub