in reply to Bizarre CGI.pm behaviour or just me?

I don't see an obvious error-- you might want to try
my $bytes_read = read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); print "Bytes read: $bytes_read\n";
Aside from that, does the script work OK outside of SSL? Might be a server problem-- which server are you using... Apache-SSL? Which version?

stephen