Inside of an expression, the whitespace characters \n, \t and \f are considered to be equivalent to a single space. Thus, you could think of this filter being applied to each value in the format: $value =~ tr/\n\t\f/ /; The remaining whitespace character, \r, forces the printing of a new line if allowed by the picture line. #### #!/bin/env perl -w use strict; my $cookie="Climb the mountains\nand get their good tidings.\nNature's peace will flow into you\nas sunshine flows into trees.\n"; my $author="-John Muir\n"; $cookie =~ tr[\n][\r]; $: = "- "; format STDOUT = @||||||||||||||||||||||||||||||||||||||||||||||||| "------------------------------------------------" ~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $cookie @|||||||||||||||||||||||||||||||||||||||||||| $author @||||||||||||||||||||||||||||||||||||||||||||||||| "------------------------------------------------" . write STDOUT; __END__ ------------------------------------------------ Climb the mountains and get their good tidings. Nature's peace will flow into you as sunshine flows into trees. -John Muir ------------------------------------------------