2006年10月

改行コードの変換

  • 2006.10.31

改行コードはWin、Mac、UNIXとプラットフォームによって異なるがperl上では全て \n で統一されている。 改行コードを全て統一する s/\x0D\x0A|\x0D|\x0A/\n/g; 改行コードを全て取り除く s/\x0D\x0A|\x0D|\x0A//g; 改行コードを全て <BR> に変換する  s/\x0D\x0A|\x0D|\x0A/<BR>/g;

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

  • 2006.10.22

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