Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

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

by Digioso (Sexton)
on Apr 04, 2014 at 08:22 UTC ( [id://1081085]=note: print w/replies, xml ) Need Help??


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

Thanks for this. :)
It works with chorobas snippet and yours.
I tried the escapeHTML function but Perl said that it couldn't find this one. According to the version 3.65 manual escapeHTML is being executed automatically.
My webserver has CGI.pm version 3.42 installed.
So my guess is that escapeHTML is a feature that was introduced in a later version.
  • Comment on Re^2: [Perl-CGI] Print non-interpolated string

Replies are listed 'Best First'.
Re^3: [Perl-CGI] Print non-interpolated string
by Anonymous Monk on Apr 04, 2014 at 08:31 UTC

    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

      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 CGI.pm 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.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1081085]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (2)
As of 2024-04-20 09:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found