I was just about to suggest Text::Table, too. I love how you can have columns aligned by arbitrary characters (e.g., the decimal in a number). The only drawback is if you want to open your output in Excel or something, the columns don't get split as easily as if it were tab-delimited, etc.