This is an internal function used by format
s, though you may call it,
too. It formats (see perlform) a list of values according to the
contents of PICTURE, placing the output into the format output
accumulator, $^A
(or $ACCUMULATOR
in English).
Eventually, when a write
is done, the contents of
$^A
are written to some filehandle. You could also read $^A
and then set $^A
back to ""
. Note that a format typically
does one formline
per line of form, but the formline
function itself
doesn't care how many newlines are embedded in the PICTURE. This means
that the ~
and ~~
tokens treat the entire PICTURE as a single line.
You may therefore need to use multiple formlines to implement a single
record format, just like the format
compiler.
Be careful if you put double quotes around the picture, because an @
character may be taken to mean the beginning of an array name.
formline
always returns true. See perlform for other examples.
If you are trying to use this instead of write
to capture the output,
you may find it easier to open a filehandle to a scalar
(open $fh, ">", \$output
) and write to that instead.