Web Developer's Virtual Library: Encyclopedia of Web Design Tutorials, Articles and Discussions


WDVL Newsletter

Active Server Pages
JSP/Java Servlets
Microsoft SQL Server
Daily Backup
Dedicated Servers
Streaming Audio/Video
24-hour Support    

jobs.webdeveloper.com

Hiermenus


e-commerce
Partner With Us















Developer Channel
FlashKit.com
JavaScript.com
JavaScriptSource
Developer Jobs
ScriptSearch
StreamingMediaWorld
Web Developer's Journal
Web Developer's Virtual Library
WebDeveloper.com
Webreference
Web Hosts
XMLfiles.com

internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers


Formatting the Output

  • Finally, we close this section with a note about formatting the outputs of your CGI applications so that your HTML is legible when "viewing the source". When reading an HTML document, a Web browser really does not care how the code is formatted. Since it ignores white space and new line characters anyway, a Web browser would be just as happy receiving one huge line of HTML code all smushed together as it would receiving a neatly formatted and human-legible HTML document. However, human readers (especially you when debugging) need to have HTML code in a format which helps you read lines and quickly analyze the output generated by your scripts.

  • Thus, it is very useful when printing with Perl, to use the newline character "\n". This character will introduce a newline into your output much like a <BR> does in HTML so that the text sent out by your CGI application will be formatted for easy reading.

  • For example, the following HTML could be displayed in two ways. First, you could type:

    print "<TABLE>"; 
    print "<TR>"; 
    print "<TD>First Name</TD>"; 
    print "<TD>Selena</TD>"; 
    print "</TR><TR>"; 
    print "<TD>Last Name</TD>"; 
    print "<TD>Sol</TD>"; 
    print "</TR></TABLE>"; 
    

  • This might seem pretty legible as Perl code, but you would receive the following HTML source code, compressed into one line:

    <TABLE><TR><TD>First Name</TD><TD>
    Selena</TD></TR><TR><TD>Last Name
    </TD><TD>Sol</TD></TR></TABLE> 
    

  • This code would be difficult to read, especially if an entire HTML page was formatted that way. On the other hand, you could use the following code:

    print "<TABLE>\n"; 
    print "<TR>\n"; 
    print "<TD>First Name</TD>\n"; 
    print "<TD>Selena</TD>\n"; 
    print "</TR>\n<TR>\n"; 
    print "<TD>Last Name</TD>\n"; 
    print "<TD>Sol</TD>\n"; 
    print "</TR>\n</TABLE>"; 
    

  • This time, when viewing the source, you would see the following HTML code neatly formatted:

    <TABLE>
    <TR>
    <TD>First Name</TD>
    <TD>Selena</TD>
    </TR>
    <TR>
    <TD>Last Name</TD>
    <TD>Sol</TD>
    </TR>
    </TABLE>

  • There are many other formatting constructs that can be included within a double-quote print or variable assignment, of course. The following table outlines several important ones.

    Construct Description
    \n Newline
    \r Return
    \t Tab
    \b Backspace
    \v Vertical Tab
    \e Escape
    \\ Backslash
    \" Double Quote
    \l Make next character lowercase
    \L Lowercase every character until \E
    \u Uppercase the next character
    \U Uppercase every character until \E
    \E Terminate \L or \U

  • It is not essential for you to keep formatting in mind, but it will make debugging much easier if it involves investigating the HTML code. Conscientious formatting is also considered good style in general.

Another benefit of using the "here document" method is that since the Perl prints out the text within the marker field exactly as you type it, you need not use the \n for newlines, because they are already incorporated.

Using the printf and sprintf functions
Table of Contents
Exercise Three


Up to => Home / Authoring / Scripting / Tutorial




Jupiter Online Media: internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and Jupiter Online Media

Jupitermedia Corporate Info


Legal Notices, Licensing, & Permissions, Privacy Policy.

Web Hosting | Newsletters | Tech Jobs | Shopping | E-mail Offers