[Perl]



myとlocalはどちらも変数を局所化するために使われます。変数の局所化とは、変数を参照できる範囲を制限することを意味します。この範囲は{と}で囲まれたところになります。そのため{}内でmyやlocalを使って宣言された変数は{}の外からは参照できません。このmyとlocalの違いですが、呼び出したサブルーチン内で参照できるかどうかになります。以下のようにlocalで宣言された変数は呼び出されたサブルーチン内でも使用できますが、myは使用できません。

[例]
#!/usr/bin/perl

&SUB();

sub SUB{
my($my) = '1';
local($local) = '2';
&SUB2();
}

sub SUB2{
print "my: $my\n";
print "local: $local\n";
}

[出力結果]
my:
local: 2



広告
新版Perl言語プログラミングレッスン入門編 新版Perl言語プログラミングレッスン入門編
¥ 2,835 / 売り上げランク: 8874 / 512 ページ

非常に分かりやすい。
今までにも様々な参考書に目を通してきていたが、その中でもこの本かなり読みやすく、丁寧に書かれていた。
初心者には特にお勧め。
初心者以外の方でも軽く目を通す価値はあると思う。

Perl/CGI逆引き大全 600の極意 Perl/CGI逆引き大全 600の極意
¥ 2,625 / 売り上げランク: 12729 / 943 ページ

(和訳)ラクダ本で挫折したのですが、最近のWeb2.0的サイト構築で必須となりつつあるので探していたところ、辞書みたいに使えそうだなぁと思い購入しました。
逆引き構成なので機能から追いかける向きもありますが、Indexもシッカリと作られているので正引きも文句なし。
第1刷の2005年から2年経過していますが、BlogやRSS、XML-RPC、AmazonWebサービスも書かれていますので圧巻です。

Code Reading―オープンソースから学ぶソフトウェア開発技法 Code Reading―オープンソースから学ぶソフトウェア開発技法
¥ 5,460 / 売り上げランク: 16640 / 523 ページ

CodeCompleteとCodeReadingを併せて読むとよいと、
組込み系のSESSAMEプロジェクトのメーリングリストと、
OS系のTOPPERSプロジェクトのメーリングリストで推薦を受けました。

CodeCompleteは読んだことがあったので、CodeReadingを読んでいます。

オープンソースを仕事にしているので、たいへん役立っています。

MISRA-Cは研修で取り上げてきたので、本書も研修の資料としても取り上げるように準備中です。