I use format quite often to generate sort-of manual pages for interfaces, e.g. while
programming perl frontends to SAP. Sample output of that particular usage:
======================================================================
+==========
Interface RFC_READ_TABLE
======================================================================
+==========
+----------------------------------------------------------+----------
+---------+
| TABLE | DATA | LEN 512| INTYPE
+ 4|
| STRUCT | TAB512 | VALUE LEN
+ 0 |
+--------+---------------------------------+------+--------+--------+-
+---------+
| POS | NAME | LEN | INTYPE | OFFSET |
+DECIMALS |
+--------+---------------------------------+------+--------+--------+-
+---------+
| 1 | WA | 512 | 0 | |
+ 0 |
| --- | - Summe - | 512 | | |
+ |
+----------------------------------------------------------+----------
+---------+
| TABLE | FIELDS | LEN 103| INTYPE
+ 4|
| STRUCT | RFC_DB_FLD | VALUE LEN
+ 0 |
+--------+---------------------------------+------+--------+--------+-
+---------+
| POS | NAME | LEN | INTYPE | OFFSET |
+DECIMALS |
+--------+---------------------------------+------+--------+--------+-
+---------+
| 1 | FIELDNAME | 30 | 0 | |
+ 0 |
| 2 | OFFSET | 6 | 6 | 30 |
+ 0 |
| 3 | LENGTH | 6 | 6 | 36 |
+ 0 |
| 4 | TYPE | 1 | 0 | 42 |
+ 0 |
| 5 | FIELDTEXT | 60 | 0 | 43 |
+ 0 |
| --- | - Summe - | 103 | | |
+ |
...
======================================================================
+==========
Parameter
======================================================================
+==========
|------------------------------------+--------------------------------
+---------+
| PARAMETER DELIMITER | STRUCTURE (none)
+ |
| VALUE | LEN | TYPE | INTYPE | DECIMALS | DEFA
+ULT |
| | 1 | IN | | 0 |
+ 0|
|------------------------------------+--------------------------------
+---------+
| PARAMETER NO_DATA | STRUCTURE (none)
+ |
| VALUE | LEN | TYPE | INTYPE | DECIMALS | DEFA
+ULT |
| | 1 | IN | | 0 |
+ 0|
There's some ANSI color highlighting that I can't show in a <code> block.
This lets me skim through an interface definition while developing whithout having
to use the ugly SAP Frontend...
Anyways, doing something like this with printf would be a pain. Same goes
for all 'er' of Perl - 'Extraction and Report'. I use format for log file parsing output,
mail body assembling, en fin for all stuff I'm loth to use a templating engine for.
--shmem
_($_=" "x(1<<5)."?\n".q·/)Oo. G°\ /
/\_¯/(q /
---------------------------- \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
|