初めてのPerlを読み返す 3章 リストと配列
この記事のスタンスはこちら。
3章 リストと配列*1
- リストの最後の要素インデックスは「$#変数名」で表現できる。
また、「$#変数名」に代入すると配列サイズを変更できる。 - (1..100) というように範囲演算子「..」で1ずつ増加する値リストを生成できる。
- qwショートカットでリスト要素を追加できる。また、デリミタは任意の記号を指定できる。
qw/ fred barney / # デフォルト qw# fred barney # # コメントに似てる qw[ fred barney ] qw( fred barney ) qw{ fred barney }
- リスト代入時、個数と値は一致しなくてもよい。
($fred, $barney) = qw/ aaa bbb ccc ddd /; # 2つの値が捨てられる ($wilma, $dino) = qw/ eee / # $dinoはundefになる
- 配列のコピー
@save = @org;
- pop=配列の最後尾から取り出す。配列が空の場合はundefを返す。
- push=配列の最後尾に追加。
- shift=配列の先頭から取り出す。配列が空の場合はundefを返す。
- unshift=配列の先頭に追加。
- printで@変数名を表示すると、自動的にスペースを挟んで変数展開される
- foreach制御変数(以下の$my)
foreach $my (qw/ aaa bbb ccc /){ print "foreach my is $my \n"; }
- foreach制御変数は「リスト要素コピー」ではなく「リスト要素そのもの」。
- sort/reverse演算子でリスト要素を昇順/逆順に並べ替える。(引数そのものの値は変更されないので注意)
- scalar関数でスカラーコンテキストを強制できる。
この他では、Perlで超重要なデフォルト変数「$_」や、スカラーコンテキストとリストコンテキストの振る舞い、リストコンテキストで
覚えるべき項目が盛りだくさんですね。
*1:以下引用をいくつか含みます