perl



2010 2月4日

はてなの質問で気になったものを発見。

ファイルの書き込み速度を向上させる方法。 perlで一度に複数のファイルを書き出すプログラムを作っていますが、openで書き出しています。 ファイルの数が増えるとやはり徐々に完了まで時間がかかってきますが、ファイルを書き出す際の速度向上にはどのようなものがあるでしょうか。 ハードウェアの交換等以外でお願い致します。
http://q.hatena.ne.jp/1125455948

この回答にディスクの書き込みによけいなものを排除するというものがあった。
http://www.itmedia.co.jp/help/tips/linux/l0298.html

ようするにアクセス情報(更新時間等)を書き込まないようにする、との事。
速度を重視でファイルの内容のみを必要とするなら良いかも。







2010 1月8日

たまに使う配列のシャッフル。
コピペで使えると便利なので。

sub shuffle {
  my @list;
  push( @list, splice(@_, int(rand(@_))) ) while(@_);
  return @list;
}

使い方

my @data = (1,2,3,4,5);
@data = shuffle(@data);

参考:http://sonic64.com/2004-11-13.html







2009 12月24日

以下の順でインストールするとうまくいくらしい。

Math::BigInt
Math::BigInt::GMP
Crypt::DH
Net::OpenID::Consumer

Net::OpenID::Consumerをインストール時にXML::Simpleが足りなかったので先にインストールした。

参考:http://www.atmarkit.co.jp/fsecurity/rensai/openid03/openid01.html