Perl CGI z kodami stanu HTTP

Mam następujące sprawdzanie poprawności w skrypcie CGI, który sprawdzi metodę GET i zwróci kod stanu HTTP 405, jeśli metoda GET nie zostanie użyta. Niestety nadal zwraca status 200 OK, gdy używasz POST lub PUT.

my ($buffer);
# Read in text
$ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/;
if ($ENV{'REQUEST_METHOD'} eq "GET")
{
    $buffer = $ENV{'QUERY_STRING'};
}
else
{
    $cgi->$header->status('405 Method Not Allowed')
    print $cgi->header('text/plain');
}

Nadal jestem nowy w programowaniu CGI, więc pomyślałem, że ktoś może mi rzucić kość na temat pracy ze zwrotami statusu CGI i HTTP. Jeśli dostarczony jest dobry dokument CGI, byłby świetny, ponieważ najczęściej zwracane przez wyszukiwarkę są CPAN (już kilka razy przeczytane) i naprawdę stare samouczki, które nie są zorientowane obiektowo.

questionAnswers(1)

yourAnswerToTheQuestion