http://www.perlmonks.org?node_id=235862

John M. Dlugosz has asked for the wisdom of the Perl Monks concerning the following question:

A long time ago, in an operating system far, far away, I could print stuff simply by opening a file handle to a reserved name and write data to it. Effects that the printer could do, like bold face, were done by sending control codes. Every printer had their own codes, so programs had to handle every printer they planned to support.

I find myself longing for that simple time, because I want to print a fancy directory listing on a label. Perl can do its report stuff (a feature I've never used before, actually) but I'd have to load the resulting text file into some application using a monospaced font and print it from there.

To print in Windows, a program uses a device context and draws, just like on the screen. Perl doesn't do that naturally. I do want to use some simple formatting like large centered text for caption, and wrapping long lines (with a proportional font).

One idea is to drive Word through OLE Automation. But I'm wondering if there is something simpler that's Perl-like and works on ActiveState? Barring that, any other ideas on how to print from Perl?

—John