in reply to Re: Re: CGI/MySQL and the vanishing \n
in thread CGI/MySQL and the vanishing \n

In HTML all newlines and multiple spaces are treated as a single space for display purposes. Thus:
<p>This will look like this does below

This will look like this does below

The <PRE> tag means preformatted so

<PRE> This retains the newlines </PRE>
This
retains
the
newlines

You badly need to learn some HTML. You also need to escape the HTML special characters < > "" &

sub escapeHTML { my ( $escape, $text ) = @_; return '' unless defined $escape ; $escape =~ s/&/&amp;/g; $escape =~ s/"/&quot;/g; $escape =~ s/</&lt;/g; $escape =~ s/>/&gt;/g; # these next optional escapes make text look the same when rendere +d in HTML # without wrapping in <pre> tags if ( $text ) { $escape =~ s/\t/ /g; # tabs to 4 sp +aces $escape =~ s/( {2,})/"&nbsp;" x length $1/eg; # whitespace e +scapes $escape =~ s/\n/<br>\n/g; # newlines to +<br> } $escape =~ s/([^\000-\177])/'&#' . (sprintf "%3d", ord $1) . ';'/e +g; return $escape; }

So you need to do something like

print "Content-type: text/html\n\n"; print "<pre>\n"; for (@data) { print escapeHTML($_); } print '</pre>'; sub escapeHTML { ..... }

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print