Last Update 2008/05/18
コンマには次の2種類の働きがあります。
・左辺がスカラー値の場合は、コンマの左の値を評価した後結果を捨て、右の値を評価してその値を返す
・左辺がリスト値の場合は、リストの並びの区切りとして働く
・左辺がリスト値の場合は、リストの並びの区切りとして働く
(例)
# 左辺がスカラー値のため、3を捨てて5を返す
$a = (3, 5);
print "$a\n";
# 左辺がスカラー値のため、5を捨てて 3 + 3 の結果を返す
$a = (5, 3 + 3);
print "$a\n";
# "5"を表示した後、3 + 3 の結果を返す
$a = (print ("5"), 3 + 3);
print "$a\n";
# 右辺がリスト値のため、1と2 + 3 の両方をリスト値として返す
@a = (1, 2 + 3);
print "@a\n";
実行結果
5
6
56
1 5