引数は、ファイルではなくて、オープンしたファイルハンドルであることに注意してください。すべてのプロセスが、ファイルにアクセスする場合は、flockによってロックを取得するという約束を守ることで、順番を守ってファイルにアクセスすることができます。$cnt);ファイルから読み込んで、エラーがなければ、カウントアップします。読み込んだ時点でファイルポインタが進んでいるので、seek関数で先頭に戻します。print関数で書き込んで、書き込んだサイズまでtruncate関数で切り詰めます。今回は数字がアップしていくだけなので、truncateの必要はないですが。closeの際にファイルロックは解除される。関数を呼び出すことで、ファイルへのロックが解除されます。上記のスクリプトを繰り返し呼び出す。$random;}FindBinは、スクリプトのパスを知ることができるモジュールです。system関数は、指定したコマンドを実行することができる関数です。rand関数は、ランダムな数を発生させるための関数です。usleep関数は一定時間スクリプトを停止する関数です。sleep関数と異なり秒数をマイクロ秒単位で指定することができます。usleep関数に1秒以下のランダムな値を与えて、このプロセスを平行して走らせたときに、ファイルへの競合が起こるような工夫になっています。業務に役立つPerlログ解析など日本語を含むテキスト処理の実践!案内YouTubeでもっと簡単にプログラミングを学ぶならPerlゼミちゃんねるLinuxコマンドを学ぶならLinuxサーバー管理入門Webデザインを学ぶならWebデザイン入門Web開発を始めるななMojoliciousスタートアップブログを作るならGiblogプログラミングの勉強会ならPerl入学式お問合せはこちらPerlは、テキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。Linuxサーバー管理でのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意。Mojoliciousを使ったWebサービス開発も。Perlは、gitやopensslなどUnix/Linuxミドルウェアの支援ツールとして採用されています。