ファイル操作

ファイルの行数を取得する方法

  • 2008.01.31

参考URLhttp://www.tohoho-web.com/lng/199912/99120066.htm 以下のように4種類考えられる [ファイルの行数を得る方法] ALL : ファイル全体を変数に読み込んで、改行の数を数えるARRAY : ファイル全体を配列に読み込んで、配列の要素数を数えるSTEP : ファイルを一行ずつ読んで、行数を数えるWC : UNIX の wc コマンドを使う(wc --lines ファイル名) これらのベンチマークをとるスクリプトをhttp://www.aleph.co.jp/~fujiwara/perl/lc.plに置いてあります。 [行数を数える対象のファ […]

flock()を使った強固な排他処理(ファイルロック)

  • 2006.10.22

perlで排他処理(ファイルロック)を行う場合様々な方法があります。 昔のレンタルサーバの場合はflock()が使えない環境などがあり、 symlinkやmkdirを使った処理が多くありました。 しかし、スピード・信頼性に優れていて、現代どこのサーバ(Unix系の)でも使えるであろうflockを使わない手はないと思います。 flockなんか壊れる、信頼しない…使い方は間違っていませんか? まずは各ロック方式の特徴を ■ symlink ・遅い。 ・ロックしたままの状態(ロック用シンボリックリンク)が残る可能性がある。 ・サーバーによっては使えない場合がある。 ■ mkdir ・遅い。 ・ロック […]