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.
In reply to Re^2: weird print results
by ikegami
in thread weird print results
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |