michael watson (IAH-C) wrote:
> Hi guys
> 
> Hope someone can help.
> 
> My file is called lame#19.gpr
> 
> I am trying to send this to my cgi script, so my url looks like:
> 
> ....cgi?filename=lame#19.gpr
> 
> But of course "#" is a special character for a URL, so my
> filename parameter gets cut short to lame....
> 
> Does anyone know of a nice, elegant or simply workable way of
> getting round this, saving renaming the file?

You should *always* properly escape parameter values. You can use
URI::Escape module for escaping parameter values individually, or you can
use the URI module to construct a properly escaped URI.

URI module example:

    use URI;
    my $uri = URI->new('http://myhost.com/cgi/myscript.cgi');
    $uri->query_form(filename => 'lame#19.gpr');
    print "$uri\n";

prints:

    http://myhost.com/cgi/myscript.cgi?filename=lame%2319.gpr

If you're using the CGI module and constructing a self-referencing URL, the
url() method automatically escapes the parameter values (which you set with
param()).

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to