2009-01-25 12 views
5

मेरे पास एक पर्ल स्क्रिप्ट है जिसे मैं Strawberry Perl या ActivePerl का उपयोग करके विंडोज़ पर चलाना चाहता हूं; मुझे परवाह नहीं है। हालांकि, यह स्क्रिप्ट flock() कॉल का उपयोग करती है, जो कि पर्ल के उन संस्करणों में से किसी एक में शामिल नहीं लगती है।विंडोज पर पर्ल के लिए झुंड() कहां है?

क्या कोई इसे पाने और चलाने में मदद कर सकता है?

उत्तर

6

क्या Fcntl मॉड्यूल स्थापित है? इसे आज़माएं:

perl.exe -MFcntl -e 1 

यदि यह शिकायत करता है, तो आपके पास Fcntl मॉड्यूल स्थापित नहीं है। यदि यह शिकायत नहीं है, तो आप Fcntl को :: झुंड पहुंच है, तो अपनी स्क्रिप्ट में रखते:

use Fcntl qw(:DEFAULT :flock); 

और बंद तुम जाओ।

1

चीजों को समर्थित करने के लिए perldoc -f झुंड का उपयोग करने का प्रयास करें & फिर फ़ंक्शन के उपयोग मानदंडों को जानने के लिए दिए गए उदाहरण को देखें। यहाँ perldoc से नकल:

सी:> 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'}") 
संबंधित मुद्दे