in reply to Apache::Registry and POSTs

$posteddata .= $_ while (<>);

Why are you using magical <ARGV>? This is a security bug. Try using your line with in a CGI script and fetch it as follows: http://foo/bar.cgi?/etc/passwd

Use STDIN, not ARGV. (Note: <> is a shorthand for <ARGV>)

And if you want to slurp, locally set $/ to undef and DO slurp:

my $posteddata = do { local $/; readline *STDIN; };

A more correct way of getting post contents is my $posteddata = $r->content;, where $r is the Apache object, as pointed out by others. By the way: get into the habit of using strict. This is very important in mod_perl, since if you don't clean them yourself, global variables are not destroyed in between requests.

Content-Type: text/plain

This only works if you have mod_perl configured to interpret headers.

Juerd # { site => 'juerd.nl', plp_site => 'plp.juerd.nl', do_not_use => 'spamtrap' }