我有一个Perl脚本,我想在Windows上运行,使用Strawberry Perl或ActivePerl;我不在乎哪个。但是,该脚本使用flock()
调用,这似乎并未包含在这些Perl版本中。Windows上的Perl的flock()在哪里?
任何人都可以帮助得到这个启动和运行?
我有一个Perl脚本,我想在Windows上运行,使用Strawberry Perl或ActivePerl;我不在乎哪个。但是,该脚本使用flock()
调用,这似乎并未包含在这些Perl版本中。Windows上的Perl的flock()在哪里?
任何人都可以帮助得到这个启动和运行?
是否安装了Fcntl模块?试试这个:
perl.exe -MFcntl -e 1
如果它抱怨,你没有安装Fcntl模块。如果它不抱怨,那么你就可以访问FCNTL ::羊群,所以把这个在你的脚本:
use Fcntl qw(:DEFAULT :flock);
和您去。
尝试使用perldoc -f flock检查支持的东西&然后查看给出的示例以了解该函数的使用条件。这里从的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'}")