リスト

配列の要素数を調べる – Perl

配列に今どれだけの要素が詰まっているかカウントしたい。これには大きく二つの方法が用意されている。

$#配列名」とする方法と、スカラー値として値を得る方法の二つがある。前者と後者で得られる値が違う点に注意すること。「$#配列名」は配列のインデックス(添え字)に忠実で、「最大数 – 1」の結果が返ってくるのに対し、後者は最大数がそのまま返ってくる。
続きを読む

配列内の数値を合計する – Perl

リスト(配列)内の数値をすべて合算した値を取得したい。 素直に計算する方法と、モジュールを利用する方法がある。List::Utilは5.8以上から標準モジュールとして用意されている(インストールする必要がない)。最近のPerlを使っているならモジュールを利用すれば良いだろう。
続きを読む

配列内の最小値を取得する – Perl

とあるリスト(配列)から最小値を取得するにはどうすれば良いだろうか? いろいろな方法が考えられるが、ここでは三種類ほどサンプルをしめす。各関数の処理をそれぞれ見ていただきたい。
続きを読む

配列内の最大値を取得する – Perl

とあるリスト(配列)から最大値を取得するにはどうすれば良いだろうか? いろいろな方法が考えられるが、ここでは三種類ほどサンプルをしめす。各関数の処理をそれぞれ見ていただきたい。
続きを読む

配列の一部を置換する(splice) – Perl

配列の一部だけを簡単に置換してくれる関数がspliceである。 spliceは非常に柔軟であるがために最初はかなりとっつきにくい。その反面、まとめて配列の操作をしたくなった際には心強い味方になってくれる。引数の数によって動作がかなり変わるのでその点をしっかりと押さえておきたい。
続きを読む

特定の項目でソートする – Perl

以下のような配列がある時、2番目の項目で並べ替えがしたい。 単純に sort @array しただけではできない。

@array = ( '1,b,c'
             , '3,c,b'
             , '2,a,a'
);

ソート項目が数値の時にはorderByArrayNum、文字列の時にはorderByArrayStrをそれぞれ呼び出せば良い。配列そのものの値が変わるので、オリジナルを保存しておきたい場合には、必ずコピーを渡すこと。
続きを読む

数値の値でソートする – Perl

以下のようなコードを書くと、文字列として扱われてしまい、意図した結果にならない場合がある。

@array = ( 1, 2, 3, 4, 5, 10, 11, 12 );
foreach(sort @array){
  print ;
  print "\n"
}

続きを読む