■2004-02-02
* [Perl] 車輪の再発明
perl 質問箱のこのあたりから始まって「車輪の再発明」に関する話が延々と……。
CPANは本当に便利なのですが、最初のうちは近寄りがたいものまた事実。そこで「これは便利で設置も楽」(だと私が思ったもの)を一つご紹介。IO::File::flockなどどうでしょう。名前の通り、flockするためのもの(なのでwindowsの場合、95や98では使えませんが2000やXPは○)です。
* IO::File::flock
use IO::File::flock qw(:flock); # 排他ロックで書き込み 3秒でタイムアウト # timeoutはalarmを使うのでwinでは使えないかも $fh = new IO::File::flock $file, '>', LOCK_EX, 3 or die "Time Out"; $fh->print("なんか"); $fh->close();これだけで、ファイルのopenからflockかけるのまで、全部やってくれます。
* どこでもインストール
このモジュールはIO-File-flock-0.09から入手できます。makeなんてしなくても、flock.pmをファイルに保存して、IO/File/ というディレクトリをつくってそこにflock.pmを置くだけでよいです(要は :: はディレクトリの区切りに対応)。SYNOPSISをみれば使い方もなんとかなるでしょう。ただこのSYNOPSISはタイプミスがあって、new IO::File::flockとなるべき所がnew IO::Fileになってます。最初コピペしたら全然flockが効かなくて悩みました(←ばか)
散歩してたらたまたまみつけました。<br>IO::File::flockの作者ですm(__)m<br><br>体力があるときにwarnings,ourとSYNOPSISあたりは直しときますね。<br>バグ報告送ってもらってれば0.10のときに直したのになぁ....<br>#他にもなにかありましたらメールででどうぞ。日本語でOKです。
やや、確かにご報告するべきでした。今後はちゃんとレポートします(^^; ご対応ありがとうございます。