Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re^3: [Perl-CGI] Print non-interpolated string

by Anonymous Monk
on Apr 04, 2014 at 08:31 UTC ( #1081086=note: print w/replies, xml ) Need Help??

in reply to Re^2: [Perl-CGI] Print non-interpolated string
in thread [Perl-CGI] Print non-interpolated string

I tried the escapeHTML function but Perl said that it couldn't find this one.

If you want to use the functional interface, either import the function, or use its fully qualified name (full name)

According to the version 3.65 manual escapeHTML is being executed automatically.

Well, you didn't understand what you read -- you're not using any of the form generators which would do this automatically

So my guess is that escapeHTML is a feature that was introduced in a later version.

Its been there for at least 20 years

  • Comment on Re^3: [Perl-CGI] Print non-interpolated string

Replies are listed 'Best First'.
Re^4: [Perl-CGI] Print non-interpolated string
by Digioso (Sexton) on Apr 04, 2014 at 09:45 UTC
    Thanks, I managed to fix it.
    The documentation is... let's say not really clear on how to use it.
    It says: $escaped_string = escapeHTML("unescaped string");

    But for manual use it's $escaped_string = $cgi->escapeHTML("unescaped string");
    Unfortunately this is not mentioned in the documentation but Google found the Syntax for me. This method is not importet by using 'use CGI;'. It's a method on the $cgi-Object. :)

    And you're right: This method is used automatcally only for forms created using and not on my self-written HTML-code.

      CGI has two operating modes: OO and procedural. You have to import the procedural portions to get that syntax.

      Also, it's not Perl that's evaluating your code as to Perl it's just text data until you use something like eval $text. Your browser, on the other hand, feels free to interpret HTML as HTML in an HTML document type. Look into both escaping characters (as you have done), and into additional issues like HTML entities in general and <pre></pre> tags. While you're at it, look into SQL injection and XSS.

        Thanks, my problem came up together with SQL injections basically. Not that I've been hit by that but I noticed the possibility.
        Regarding XSS I think that I'm kinda safe, since I considered that while programming but a having a deeper look won't hurt. :)
        OK, reading it whole explains a lot. :)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1081086]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (10)
As of 2018-06-22 08:07 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (122 votes). Check out past polls.