年中アイス

いろいろつらつら

Perlで配列の長さを取得する

perlメインで使ってるわけじゃないんですが、サーバ側の調査等でperlワンライナーは便利なのでよく使います。
普段使ってない言語だと、配列の長さを取るだけで迷ってしまいます。
Javaなら、array.lengthや、List.size()、Pythonならlen()と、それぞれです。

調べてたら2個あって、1個は、長さじゃなくて最後のインデックスなのに気づかず、値は出るのに、なぜか1少ない・・・?とハマってました。

@array = ("abc", "def", "ghi");

# これは2
$#array

# これは3
scalar(@array)

コマンドマンドで確認

perl -e '@array=("abc","def","ghi"); print "$#array\nscalar(@array)'
2
3

日常的に使わないと忘れますね。