我有一个要在 Windows 上运行的 Perl 脚本,使用Strawberry Perl或ActivePerl;我不在乎哪个。然而,这个脚本使用flock()
调用,这似乎不包含在任何一个 Perl 版本中。
任何人都可以帮助启动并运行它吗?
我有一个要在 Windows 上运行的 Perl 脚本,使用Strawberry Perl或ActivePerl;我不在乎哪个。然而,这个脚本使用flock()
调用,这似乎不包含在任何一个 Perl 版本中。
任何人都可以帮助启动并运行它吗?
是否安装了 Fcntl 模块?试试这个:
perl.exe -MFcntl -e 1
如果它抱怨,你没有安装 Fcntl 模块。如果它没有抱怨,那么你可以访问 Fcntl::flock,所以把它放在你的脚本中:
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'}")