| Previous | Next
FormatsFormats are a mechanism for generating formatted reports for outputting data and are defined with the format Most of your format names will be the same as the filehandle names for which they are used. The default format for a filehandle is the one with the same name. The format definition is like a subroutine definition. It doesn't contain immediately executed code and can therefore be placed anywhere in the file with the rest of the program; they are commonly placed near the end of the file with subroutine definitions. To output to a format, use the The template lines contain literal text and fieldholders. Fieldholders contain symbols that describe the size and positioning of the area on the line where data is output. An argument line immediately follows a template line that contains the fields to be replaced by data. The argument line is a list of variables (or expressions), separated by commas, that fill the fields in the previous line in the order they are listed. Here's an example of a template line with two fieldholders and the argument line that follows: Hello, my name is @<<<<<<<<<< and I'm @<< years old. $name, $age The fieldholders are Most fieldholders start with
Another kind of fieldholder is a fixed-precision numeric field. This field also begins with format MONEY = Assets: @#####.## Liabilities: @#####.## Net: @#####.## $assets, $liabilities, $assets-$liabilities . The multiline fieldholder allows you to include a value that may have many lines of information. This fieldholder is denoted by Another kind of fieldholder is a filled field. This fieldholder allows you to create a filled paragraph, breaking the text into conveniently sized lines at word boundaries, wrapping the lines as needed. A filled field is denoted by replacing the If the variable's contents are exhausted before the number of fields, you will simply end up with blank lines. You can suppress blank lines by placing a tilde ( If the text in the variable is longer than what can be filled in the fields, output continues only until the fields run out. The shortcut to get the string to print until it ends is to use two consecutive tildes ( Default values for format parameters all relate to the format of the currently selected filehandle. The currently selected filehandle starts out as STDOUT, which makes it easy to print things on the standard output. However, you can change the currently selected filehandle with the |