Windows上的Perl flock()在哪里?

时间:2009-01-25 00:26:27

标签: perl fcntl flock

我有一个Perl脚本,我想在Windows上运行,使用Strawberry PerlActivePerl;我不在乎哪个。但是,此脚本使用flock()调用,这些调用似乎不包含在这两个版本的Perl中。

任何人都可以帮忙启动并运行吗?

2 个答案:

答案 0 :(得分:6)

是否安装了Fcntl模块?试试这个:

perl.exe -MFcntl -e 1

如果它抱怨,您没有安装Fcntl模块。如果它没有抱怨,那么你可以访问Fcntl :: flock,所以把它放在你的脚本中:

use Fcntl qw(:DEFAULT :flock);

然后离开。

答案 1 :(得分:1)

尝试使用perldoc -f flock检查支持的内容&然后查看给定的示例以了解函数的使用标准。这里复制了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'}")