Perlで配列の長さ

Perlにおいて配列の長さは単に配列@arrayに対してscalar(@array)とすれば良い. つまり文脈がはっきりしていれば, そのまま@arrayで良い.

一方で, $#arrayとしたときは配列の最大インデックスを返すので, 長さは($#array+1)となる.

というわけで, 一見して気持ち悪いが, ($#array==0)は配列がちょうど1つだけ要素を含むかどうかの真偽値だ. 読み手のことを考えると(@array==1)と同じ.