in reply to Re: weird print results
in thread weird print results

I could stil be a quoting issue. For exmple, spaces are not allowed in URLs. Similarly, the characters <, > and & have special meaning in HTML text, so they need to be escaped too.
use CGI qw( escapeHTML ); use URI::Escape qw( uri_escape ); foreach my $line (@results) { my ($first, $second, $third) = split(/::/, $line); my $ue_first = uri_escape($first); my $ue_second = uri_escape($second); my $ue_third = uri_escape($third); my $he_first = escapeHTML($first); my $he_third = escapeHTML($third); print qq(<b>$he_first</b> <a href="$ue_second?a=$ue_first&t=$ue_thi +rd">$he_third</a><br>); }

Alternate syntax:

use CGI qw( escapeHTML ); use URI::Escape qw( uri_escape ); foreach my $line (@results) { my ($first, $second, $third) = split(/::/, $line); my ($ue_first, $ue_second, $ue_third) = map uri_escape($_), $first, $second, $third; my ($he_first, $he_second, $he_third) = map escapeHTML($_), $first, $second, $third; print qq(<b>$he_first</b> <a href="$ue_second?a=$ue_first&t=$ue_thi +rd">$he_third</a><br>); }

No need to escape for HTML that which has already been escaped for URIs since URIs can't contain any special HTML characters.

Replies are listed 'Best First'.
Re^3: weird print results
by Anonymous Monk on Jul 01, 2006 at 22:44 UTC
    Thank you a hundred qadbillion! Escaping everything did make everything work 100% of the time.

    Thank you for your help, I really appreciate it!