ну блин.
в вашем примере откуда, на ваш взгляд, берется $CGI::POST_MAX, которая сравнивается с $ddt? Должно-то оно браться из формы, отправленной методом пост.
а этот пример кода не работает с формой.
тогда уже натравите stat на свой $filename="3232ff.jpg"; и сравнивайте полученое значение в байтах с $ddt. но это ведь не то, чего вам хочется. верно?
каким-то образом нам нужно узнать размер файла до того, как мы его закачали.
if (not sysopen FILE, "$dir/$1", O_EXCL | O_CREAT | O_WRONLY, 0444 or $CGI::POST_MAX > $ddt) заменить на ее первоначальное состояние:
if (not sysopen FILE, "$DIR/$1", O_EXCL | O_CREAT | O_WRONLY, 0444)
это ошибочная конструкция была.
-- проблему того, что $CGI::POST_MAX "it will immediately exit with an error message" в той же документации предложено решать так:
$uploaded_file = param(\'upload\');
if (!$uploaded_file && cgi_error()) {
print header(-status=>cgi_error());
exit 0;
}
возможно еще кто-то поделится своими мыслями.