Podejrzewam ze dlatego, ze uzywasz
Kod:
if($ENV{"REQUEST_METHOD"}eq "post"){
...
Po pierwsze warunek jest zle zapisany... bo jako metoda jest 'POST' a nie 'post', reszta jest jak na moje oko OK ale nie mam kiedy tego wrzucic i odpalic u siebie, wiec nadal jest to odpowiedz 'na oko'...
Kod:
if ($ENV{"REQUEST_METHOD"} =~ /post/i) {
...
W tym wypadku uzywamy wyrazenia regularnego dopasowujacego POST bez patrzenia na wielkosc liter moga wiec byc nawet mieszanej wielkosci (poST, PoST, itd).
Po prostu w Twoim kodzie warunke nigdy nie zwraca wartosci prawda, dlatego ten kawalek kodu sie nie wykonuje. Aby sprawdzac takie rzeczy polecam:
Kod:
use CGI::Carp qw/fatalsToBrowser/;
...
if($ENV{"REQUEST_METHOD"}eq "post"){
warn "IN post...<br>";
# obslugujemy POST...
} else {
warn "IN get...<br>";
# obslugujemy GET
}
CGI::Carp pozwala wypluc ladnie do przegladarki wszystkie linie 'warn' i wszelkie bledy w kodzie... tylko wylacz to zanim polecisz z kodem na serwerze docelowym bo to niezbyt bezpieczne
Jesli nie uzywasz CGI::Carp to wszelkie polecenia 'warn' zostana zapisane do error.log serwera WWW - mozna wiec sledzic co jest w bebechach aplikacji bez specjalnego przerabiania tego co jest zwracane do przegladarki.
FastCGI to metoda akceleracji jezykow skryptowych - jesli nie uzywasz mod_php bo nie uzywasz apache'a to mozesz odpalic PHP jako FastCGI czyli takie CGI, ktore po uruchomieniu raz (albo uruchomieniu przy starcie serwera jesli tak ustawisz) bedzie zaladowane, skompilowane i trzymane w pamieci... a jak przyjdzie zlecenie to kod jest po prostu wykonywany - oszczedzasz mase czasu na ladowaniu interpretera i interpretacji kodu... Poza tym FastCGI mozna ustawic ze proces aplikacji ma prawo zyc tyle i tyle czasu i ma prawo obsluzyc max NNNN zlecen, po czym proces jest ubijany i w jego miejsce odpalany jest nowy - wiec takie trywialne sprzatanie ewentualnych pozostalosci w pamieci. Uzywam tego caly czas przy baaardzo roznych zastosowaniach. Najpierw jednak naucz sie pisac dobre CGI - poznej je przyspieszaj (FastCGI - CGI na sterydach hehe).
Co do tego gdzie pracuje... to raczej nie temat na forum. Jesli poczytasz nieco moich postow bedziesz mial pewien obraz firmy ale nigdzie nie podalem dokladnie czym sie firma zajmuje i nie podam aby nie narazac firmy na niepotrzebne niebezpieczenstwo Tyle atakow ktore teraz mamy juz mi wystarczy - wiecej nie potrzebuje.