[NEXT]まとまり無いんですがここではよく使う小技を取り上げていきます。どれもDBMS周りのコードを効率良く書く上でよく使っています。1.処理部を制御文の前に書く一部の制御文では処理部を制御文に前置できます。エミュレートするのに便利です。この場合制御文の小カッコは省略できます。);}2.参照(Reference)とはこれを説明しないと話しを先に進められないので簡単に解説しておきます。Perl4以前には参照や多次元配列の概念が無かったそうです。私がPerlを始めた時は既にVersion5だったので当然の様に使ってますが。Perlの参照にはCのポインターと同等の固定参照とシンボリック参照が有ります。参照は参照元の実体では無くて、格納アドレスと型情報(固定参照)や変数名(シンボリック参照)を保持しています。どちらも逆参照する事で参照元のデータにアクセスできます。以下参照の作成と逆参照例です。参照は全てスカラーになります。固定参照は変数名に\記号を付ける事で作成します。逆参照するには参照スカラー変数名の前に、参照元変数の変数識別子($や@)を付けます。"@$ar_reference\n";---------------------------------12abc3.無名配列、無名ハッシュと逆参照演算子(->)無名配列構成子[]を使うと無名配列という名前の無い配列を参照を使って作れます。無名ハッシュ構成子{}を使うと無名ハッシュという名前の無いハッシュを参照を使って作れます。引数リストを指定したいときは、->という逆参照演算子を使うこともできます。$$hs_ref{$key};---------------------------------bbk1k1無名配列が便利に使えるのは後で説明する多次元配列と""の中に関数の結果やサブルーチンの戻り値を直接記述したい時です。以下はよくやるミスです。"join(':',@ar)$xx";---------------------------------join(':',@ar)ですprint文の""の中でjoin関数の結果を要素数1個の無名配列にしてその参照を{}でブロック化した後逆参照すれば以下の様に正しく表示されます。"@{[join(':',@ar)]}$xx";---------------------------------a:b:cです4.多次元配列を使いこなすPerl5からは多次元配列が使えます。いっても例えば2次元配列は他の配列への参照を保持している配列にすぎない事に注意が必要です。2次元配列の要素に代入する以下の2つの文は同じ事です。後者は逆参照演算子->を省略しないで書いた場合です。シャープペンまた以下の様に多次元配列名をprint文で指定しても、アドレス情報を保持している参照そのものが出力されてしまいます。@ar;--------------------ARRAY(0x734928)ARRAY(0x739368)以下の様に配列参照を逆参照するには@{}を使います。