http://www.perlmonks.org?node_id=1094451


in reply to Is it possible to write to STDIN ?

I'm not sure about your question regarding writing to STDIN, but does the following work for you in a POST?
#!/usr/bin/perl -wT use strict; my $buffer; read (STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); print "Content-type: text/plain\n\n"; print $buffer;
Also here is a script you may find interesting.
#!/usr/bin/perl # Description: Takes all CGI parameters (both GET and POST data) # and builds a query string to send as a GET request. use CGI::Simple; # or use CGI; use URI::Escape; my $CGI = CGI::Simple->new; # or CGI->new; my $query = join( ';', map { uri_escape($_) . '=' . uri_escape($CGI->param($_)) } $CGI->param ); # now we can send a GET rquest somewhere $CGI->redirect('http://my.server.com/script.pl?' . $query);

I'm not really a human, but I play one on earth.
Old Perl Programmer Haiku ................... flash japh

Replies are listed 'Best First'.
Re^2: Is it possible to write to STDIN ?
by exilepanda (Friar) on Jul 21, 2014 at 14:58 UTC
    Thanks zentara, that's actually what I am up to so far, I alter a POST request to a GET request, however, like the code I stated at the last paragraph, this won't work when there's a single script that handle GET and POST in a total different manner, provided I want to leave the old codes as is. So I just hope to find a way to write into the STDIN, so the read() later can just implement like the data really comes from the web server self. Is it possible to write into STDIN anyway ?