Domanda

Ho uno script Perl che mi piacerebbe eseguire su Windows, usando Strawberry Perl o < a href = "http://www.activestate.com" rel = "nofollow noreferrer"> ActivePerl ; Non mi interessa quale. Questo script utilizza tuttavia le chiamate flock () , che non sembrano essere incluse in nessuna di quelle versioni di Perl.

Qualcuno può aiutarti a metterlo in funzione?

È stato utile?

Soluzione

Il modulo Fcntl è installato? Prova questo:

perl.exe -MFcntl -e 1

Se si lamenta, non è installato il modulo Fcntl. Se non si lamenta, hai accesso a Fcntl :: flock, quindi inseriscilo nel tuo script:

use Fcntl qw(:DEFAULT :flock);

e via.

Altri suggerimenti

Prova a usare perldoc -f flock per verificare che le cose siano supportate & amp; quindi guarda l'esempio dato per conoscere i criteri di utilizzo della funzione. Qui copiato dal perldoc:

C: > 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'}") 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top