リスト

リストとは、スカラーの集合に順序を付けて並べたもの。
全て数値あるいは文字列でなければならない、ということはなく、
それらを組み合わせて保持することもできる。

リストリテラル

プログラム中でリストを表すには以下のように書く。

() # 空のリスト
(1, 2, 3);
('a', 'b', 'c');
(1, 'b', 2, 'd', ); # 最後のコンマは無視される


リストの要素には式を使うこともできる。

$a = 3;
($a * 2, $a * 5); # (6, 15)


範囲演算子(..)は、1ずつ増加する値のリストを生成する。
これを使えば、連番のリストが簡潔に書ける。

($a..$b);     # $aから$bまで、1ずつ増加する値のリスト 
(1..100);     # 1〜100までの100個の整数のリスト
(5..1)        # 空リスト 右の方が大きくないと駄目
(1.5..5.6)    # (1, 2, 3, 4, 5) 小数は切り捨てられる
(3, 5..8, 10) # (3, 5, 6, 7, 8, 10)と同じ

qwショートカット

qwショートカットを使うと、各要素をシングルクォートで
囲む手間が省ける。

('a', 'b', 'c'); # これと
qw/ a b c /;     # これは同じ

各要素は、コンマではなく空白文字(スペース、タブ、改行文字)
などで区切られる。
そして各要素は、シングルクォートで囲まれたものとして扱われる。
なので、\nや$hogeなどは使えない。


要素にデリミタ(この場合は/)と同じ文字を入れたい場合は、
その前に、逆スラッシュを置く。

qw/ \/usr\bin\/perl \/home\/hoge\/hoge.txt /;

ただ、デリミタには任意の文字を選べるので、この方がわかりやすい。

qw{
    /usr/bin/perl
    /home/hoge/hoge.txt
}