Hi Malay, Thanks for your suggestion with @ARGV, I've tried it but it didn't work in a first place. I've tried to read directly from STDIN without any success: my $query; if ($ENV{REQUEST_METHOD} eq 'POST') { read (STDIN, $query, $ENV{CONTENT_LENGTH}); print $query; } >From what I understand of CGI, when the web server receives an HTTP request, it reads the HTTP headers and passes the content body of the message to the CGI script on STDIN (cf. O'Reilly's CGI prog.). STDIN is empty for a GET request (no body), and should contain the encoded form data in the case of a POST request. The content-length header is used for reading the right amount of bytes from the content body of the POST request. So why can I access to my param values through the CGI.pm object, but not through STDIN? Well, the answer (after a week of struggle) is rather trivial: you can't do both! If you instantiate a cgi object, it reads all the data from STDIN, but nothing else seems to be available when running a command. Fred. ps: For anyone interested in my application, I'll soon post a url where you can get the sources.