Sorry for not replying promptly. I was out of work for a few days.
Yes -- my problem is "What's the recommended way to receive HTTP input on multiple channels, while abstracting away which channel(s) was used?".
My CGI script is tiny, has one entry point, it's not a full service, not a big application.
Preferred way would be:
#!/usr/bin/perl
use CGI:Somesolution qw(getAllInputAsHash);
# user input, decoded from UTF
my $userinput = getAllInputAsHash({decodeUtf => 1});
I keep using CGI.pm like this:
#!/usr/bin/perl
use CGI;
use Encode;
my $cgi = CGI->new;
sub decodedForSomeTypes {
$ENV{CONTENT_TYPE} =~ /boundary/ ? $_[0] : decode_utf8($_[0]);
}
my $params = +{
map { $_ => decodedForSomeTypes(scalar $cgi->param($_)) } $cgi->pa
+ram()
};
|