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, but you could also read $^A
yourself 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 will 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.