这是一个 format
使用的内部函数,不过你也可以调用它。它根据 PICTURE 的内容格式化(参见 perlform)值列表,并将输出放入格式输出累加器 $^A
(或 English 中的 $ACCUMULATOR
)。最终,当执行 write
时,$^A
的内容将写入某个文件句柄。你还可以读取 $^A
,然后将 $^A
设置回 ""
。请注意,一个格式通常对每行格式执行一次 formline
,但 formline
函数本身并不关心 PICTURE 中嵌入了多少个换行符。这意味着 ~
和 ~~
标记将整个 PICTURE 视为一行。因此,你可能需要使用多个 formline 来实现单个记录格式,就像 format
编译器一样。
如果你在图片周围加上双引号,请小心,因为 @
字符可能被解释为数组名称的开头。 formline
始终返回 true。有关其他示例,请参见 perlform。
如果您尝试使用此方法来代替 write
来捕获输出,您可能会发现将文件句柄打开为标量(open my $fh, ">", \$output
)并写入该标量会更容易。