formline PICTURE,LIST

这是一个 format 使用的内部函数,不过你也可以调用它。它根据 PICTURE 的内容格式化(参见 perlform)值列表,并将输出放入格式输出累加器 $^A(或 English 中的 $ACCUMULATOR)。最终,当执行 write 时,$^A 的内容将写入某个文件句柄。你还可以读取 $^A,然后将 $^A 设置回 ""。请注意,一个格式通常对每行格式执行一次 formline,但 formline 函数本身并不关心 PICTURE 中嵌入了多少个换行符。这意味着 ~~~ 标记将整个 PICTURE 视为一行。因此,你可能需要使用多个 formline 来实现单个记录格式,就像 format 编译器一样。

如果你在图片周围加上双引号,请小心,因为 @ 字符可能被解释为数组名称的开头。 formline 始终返回 true。有关其他示例,请参见 perlform

如果您尝试使用此方法来代替 write 来捕获输出,您可能会发现将文件句柄打开为标量(open my $fh, ">", \$output)并写入该标量会更容易。