I think this is a problem with older versions
of CGI.pm. In older versions on the module (and
I can't remember when it changed) the
escape subroutine didn't have a OO
interface, so it expected its first parameter
to be the string to be escaped.
By calling it with an OO interface, as you
have, you give it the CGI object as the first
parameter. escape tries to URL encode
that object and returned the URL encoded version.
When you print out the return code, you the
string representation of the object, which is
the type and reference - hence the output you
see.
Solutions: 1/ Get a more recent version of
CGI.pm. 2/ Call escape using the
functional interface like this:
$escaped = escape('some text');
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|