Hi Rick,
On Sun, 2 Sep 2018 16:04:26 -0500
Rick T <[email protected]> wrote:
> I am trying to wean myself from CGI.pm, an easy task for most of you, but I
> am a beginner. The code below works, but that does not mean it always will or
> that it cannot be improved. I found the main part of this in CGI Programming
> with Perl, which is 18 years old, and I’ve given up hoping that a new edition
> of it will come out. I’ve read somewhere that servers can give the wrong
> value for CONTENT_LENGTH, so I stuck in a second chance before bailing out;
> and of course this may not be necessary or done well. I look forward to any
> and all comments. I also would appreciate any guidance on how I can learn
> more about CGI and how to deal with it. This book has been extremely valuable
> to me, but even I can see that some of its guidance is a bit creaky! — Rick
>
> sub get_form_data {
> my $query = q{}; # Empty string
> my @name_value_pairs;
> if ( read( STDIN, $query, $ENV{'CONTENT_LENGTH'} )
> == $ENV{CONTENT_LENGTH}
> ){
> @name_value_pairs = split /&/, $query;
> }elsif (! read( STDIN, $query, $ENV{'CONTENT_LENGTH'} ) # Second chance
> == $ENV{CONTENT_LENGTH}
> ){
> die "Trouble parsing POST request: $!"
> }
>
please use a module - whether CGI.pm or other. See:
* https://leejo.github.io/2016/02/22/all_software_is_legacy/
* https://plackperl.org/
* https://metacpan.org/release/CGI-Minimal
Thanks to Uri too.
Regards,
Shlomi Fish
> foreach my $pair (@name_value_pairs){
> my ($key, $value) = split /=/, $pair;
> chomp ($key, $value);
> $pf{$key} = $value;
> }
> return;
> }
>
--
-----------------------------------------------------------------
Shlomi Fish http://www.shlomifish.org/
http://is.gd/i5eMQd - Emma Watson’s Interview for a Software Dev Job
I love being convinced that I was wrong before. That way I knew I
improved and am now wiser. Like the Klingon warriors say when it happens:
“What a great day it was for me to die!”.
Please reply to list if it's a mailing list post - http://shlom.in/reply .
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/