Windows上のPerlのflock()はどこにありますか?
質問
Windowsで Strawberry Perl または< a href = "http://www.activestate.com" rel = "nofollow noreferrer"> ActivePerl ;どちらでも構いません。ただし、このスクリプトはflock()
呼び出しを使用しますが、これらのバージョンのPerlには含まれていないようです。
誰でもこれを実行できるように手助けできますか?
解決
Fcntlモジュールはインストールされていますか?これを試してください:
perl.exe -MFcntl -e 1
問題が発生した場合は、Fcntlモジュールがインストールされていません。文句がなければFcntl :: flockにアクセスできるので、これをスクリプトに追加してください:
use Fcntl qw(:DEFAULT :flock);
そしてあなたは出発します。
他のヒント
perldoc -f flockを使用して、サポートされていることを確認してください<!> amp;次に、指定された例を見て、関数の使用基準を確認します。 perldocからコピーしたもの:
C:<!> gt; perldoc -f flock
use Fcntl ':flock'; # import LOCK_* constant
sub lock {
flock(MBOX,LOCK_EX);
# and, in case someone appended
# while we were waiting...
seek(MBOX, 0, 2);
}
sub unlock {
flock(MBOX,LOCK_UN);
}
open(MBOX, ">>/usr/spool/mail/$ENV{'USER'}")
所属していません StackOverflow