我有一个Perl脚本,我想在Windows上运行,使用Strawberry Perl或ActivePerl;我不在乎哪个。但是,此脚本使用flock()
调用,这些调用似乎不包含在这两个版本的Perl中。
任何人都可以帮忙启动并运行吗?
答案 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'}")