سؤال

ولدي سيناريو بيرل الذي أود أن تعمل على ويندوز، وذلك باستخدام إما الفراولة بيرل أو < وأ 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'}") 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top