Formats are one of the oldest features of Perl.
Unfortunately,
they suffer from several limitations.
Formats are static and cannot be easily defined at run time.
Also,
formats depend on several obscure global variables.

For more modern reporting tools,
consider using one of the template frameworks like Template or try the Perl6::Form module.