أين هو القطيع () لبيرل على ويندوز؟
سؤال
ولدي سيناريو بيرل الذي أود أن تعمل على ويندوز، وذلك باستخدام إما الفراولة بيرل أو < وأ href = "http://www.activestate.com" يختلط = "نوفولو noreferrer"> ActivePerl . لا يهمني الذي. هذا السيناريو ومع ذلك، يستخدم المكالمات flock()
، والتي لا يبدو ليتم تضمينها في أي من هذه الإصدارات من بيرل.
ويمكن لأي شخص أن تساعد في الحصول على هذا وتشغيلها؟
المحلول
هل وحدة Fcntl مثبتة؟ جرب هذا:
perl.exe -MFcntl -e 1
وإذا كان يشكو، لم يكن لديك وحدة Fcntl مثبتة. إذا كان لا يشكو، ثم لديك حق الوصول إلى Fcntl :: القطيع، ولذلك وضعت هذا في السيناريو الخاص بك:
use Fcntl qw(:DEFAULT :flock);
ووقبالة تذهب.
نصائح أخرى
وحاول استخدام perldoc -f قطيع للتحقق معتمدة الأشياء وبعد ذلك ننظر في المثال المذكور لمعرفة معايير استخدام وظيفة. نسخ هنا من perldoc:
وC:> perldoc -f قطيع
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