Pregunta

Tengo un script de Perl que me gustaría ejecutar en Windows, usando Strawberry Perl o < a href = "http://www.activestate.com" rel = "nofollow noreferrer"> ActivePerl ; No me importa cual. Sin embargo, este script usa llamadas flock () , que no parece estar incluido en ninguna de esas versiones de Perl.

¿Alguien puede ayudar a poner esto en funcionamiento?

¿Fue útil?

Solución

¿Está instalado el módulo Fcntl? Prueba esto:

perl.exe -MFcntl -e 1

Si se queja, no tiene el módulo Fcntl instalado. Si no se queja, entonces tienes acceso a Fcntl :: flock, así que pon esto en tu script:

use Fcntl qw(:DEFAULT :flock);

y listo.

Otros consejos

Intente usar perldoc -f flock para verificar que las cosas son compatibles & amp; luego mire el ejemplo dado para conocer los criterios de uso de la función. Aquí copiado del 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'}") 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top