in reply to Re: print content in cgi and html
in thread print content in cgi and html

HERE documents are good advice even if you do use CGI.pm, for those situations where the nested function structure that CGI.pm imposes proves to be too unwieldly (for example, constructing a table where you might need a foreach loop to enumerate the elements). Yes, it can always be done with CGI.pm, but sometimes it is easier to look at and manipulate with a simple HERE document.

If you want your HERE documents to be indented you assign the document to a scalar, and then perform a substitution on leading whitespace for each line.

The Perl Cookbook provides a couple of good solutions. Here's an adaptation of one version.

($html = <<HERE_DOC) =~ s/^[^\S\n]//gm; your text goes here. Notice how indentation doesn't matter because the regexp bound to the HERE doc strips leading whitespace. HERE_DOC print $html;

This works by substituting any amount of whitespace (space, tab, form feed) at the beginning of the line with "nothing" unless the "whitespace" is a newline character (ie, it preserves newlines). Cool huh?

Enjoy!

Dave

"If I had my life to do over again, I'd be a plumber." -- Albert Einstein

Replies are listed 'Best First'.
3Re: print content in cgi and html
by jeffa (Bishop) on Sep 26, 2003 at 21:47 UTC