下面的代码会给你一个给定句柄在( <
, >
等)中打开的模式:
use Fcntl qw(F_GETFL); my $flags = fcntl($fh, F_GETFL, my $junk);
$flags
是一个表示开放模式的数字(由Fcntl提供的其他macros定义的数字)。 但是,这不适用于Strawberry Perl安装。 它失败并显示以下消息:
Your vendor has not defined Fcntl macro F_GETFL
这怎么能在Windows的Perl安装上实现呢?
上下文是,我正在调查Data :: Transform :: ExplicitMetadata的修复。 它的目的是通过JSON使Perl结构可序列化,并且需要序列化的一件事是打开的文件句柄。 在这里看到当前的代码。