Beefy Boxes and Bandwidth Generously Provided by pair Networks Joe
XP is just a number
 
PerlMonks  

RE: still confused with CGI and carriage returns carriage returns

by Keighvin (Novice)
on Apr 26, 2000 at 04:27 UTC ( [id://9168]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to still confused with CGI and carriage returns carriage returns

I've encountered this problem before, but I wasn't using CGI.pm's extensions: I parsed the input myself with some handy bits:
use CGI qw/:standard/; read(STDIN, $formdata, $ENV{'CONTENT_LENGTH'}); @pairs = split(/\&/, $formdata); foreach $pair (@pairs){ ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%0D%0A/\n/g; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; }
The above code runs everything through nice and quick, and if you still want to use your CGI.pm extensions you can (since this doesn't rely on it, you can also omit that line). The beauty of this script is it will read everything in and parse it at once so you don't have to go fishing for any of the values you need. The values you accessed before would now be: $FORM{'FILE1'}, $FORM{'login'}, $FORM{'description'}; Similarly you're free to use a "foreach $key (keys %FORM){};" on this. Enjoy!

Replies are listed 'Best First'.
An addendum...
by Keighvin (Novice) on Apr 26, 2000 at 18:32 UTC
    An addendum to my code snippit: It does *not* remove carriage returns, rather it takes the common extra byte that comes with the \n and changes it into *just* a \n. If you still want to get rid of these use =~ tr/\n//; before you pass it into the %FORM.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://9168]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.