以下代码将为您提供在(<
,>
等中打开给定句柄的模式:
use Fcntl qw(F_GETFL);
my $flags = fcntl($fh, F_GETFL, my $junk);
$flags
是表示开放模式的数字(由Fcntl提供的其他宏定义的数字)。但是,这不适用于Strawberry Perl安装。它失败并显示以下消息:
Your vendor has not defined Fcntl macro F_GETFL
如何在Windows安装Perl上实现这一目标?
上下文是我正在研究Data::Transform::ExplicitMetadata的修正案。它的目的是通过JSON使Perl结构可序列化,并且需要序列化的一件事是打开文件句柄。请参阅当前代码here。