リスト

配列の値をキーにしたハッシュを作成する - Perl

「Perl大技林」一覧に戻る 配列Aに入っている全ての値を、ハッシュHのキーにしたい。これは一行で解決する。

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

「Perl大技林」一覧に戻る 配列に今どれだけの要素が詰まっているかカウントしたい。これには大きく二つの方法が用意されている。 「$#配列名」とする方法と、スカラー値として値を得る方法の二つがある。前者と後者で得られる値が違う点に注意すること。「$…

配列をコピーする - Perl

「Perl大技林」一覧に戻る 配列Aの内容を配列Bにそのままコピーしたいが、どうすれば良いだろうか? 単純に代入をしてやれば良い。 コピー先の配列に値が入っていた場合でもすべて上書きされてしまうので注意すること。もし配列の前か後ろに挿入したいのなら…

配列を結合(連結)する - Perl

「Perl大技林」一覧に戻る 二つの配列を結合(連結)し、合体させたい。 pushとunshiftはリスト(配列)を渡せるのでそれを利用するのが良い。

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

「Perl大技林」一覧に戻る リスト(配列)内の数値をすべて合算した値を取得したい。 素直に計算する方法と、モジュールを利用する方法がある。List::Utilは5.8以上から標準モジュールとして用意されている(インストールする必要がない)。最近のPerlを使ってい…

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

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

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

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

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

「Perl大技林」一覧に戻る 配列の一部だけを簡単に置換してくれる関数がspliceである。 spliceは非常に柔軟であるがために最初はかなりとっつきにくい。その反面、まとめて配列の操作をしたくなった際には心強い味方になってくれる。引数の数によって動作が…

配列に値を追加する(push,unshift) - Perl

「Perl大技林」一覧に戻る 配列の先頭、または末尾から値を追加するにはpush、unshiftを用いれば良い。 先頭への追加はunshift、最後に追加するのはpushを用いる。

配列を逆順に並べ替える(reverse) - Perl

「Perl大技林」一覧に戻る リスト(配列)を逆に並べ替えるお手軽な方法はreverseを用いることだ。

配列内の重複を取り除く - Perl

「Perl大技林」一覧に戻る 配列内の同じ値を取り除きたい。ハッシュを利用すればかんたんに実現できる。

配列をシャッフルしたい(ランダムな順列) - Perl

「Perl大技林」一覧に戻る 配列(リスト)を順不同に並べ替えたい。 トランプで言う「シャッフル」、アルゴリズム的な用語を使うと「ランダムな順列」に該当する。 次のようなプログラムを記述すれば良い。

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

「Perl大技林」一覧に戻る 以下のような配列がある時、2番目の項目で並べ替えがしたい。 単純に sort @array しただけではできない。 @array = ( '1,b,c' , '3,c,b' , '2,a,a' ); ソート項目が数値の時にはorderByArrayNum、文字列の時にはorderByArrayStrを…

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

「Perl大技林」一覧に戻る 以下のようなコードを書くと、文字列として扱われてしまい、意図した結果にならない場合がある。 @array = ( 1, 2, 3, 4, 5, 10, 11, 12 ); foreach(sort @array){ print ; print "\n" }

リストからある条件と一致した値を取出す - Perl

「Perl大技林」一覧に戻る ※初出の日時が不明のため公開日は仮の日付です あるリストから、希望する条件に一致した値だけを取り出したい場合がある。for,while,foreachなどのループを使う方法以外に、効率の良いやり方が知りたい。