|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Alexander Zigar' 2:5058/2.96 26 Apr 2006 11:05:34 To : Mihail Popov Subject : Вопросец -------------------------------------------------------------------------------- 25 Apr 06 20:18, Mihail Popov -> All: MP> А вот кусок из скрипта : MP> use CGI; MP> if ($ENV{'REQUEST_METHOD'} eq "POST") { MP> $query = new CGI(); MP> $filename = $query->param('fbut'); MP> open (OUTFILE,">>file.gif"); binmode OUTFILE; MP> while ($bytesread=read($filename,$buffer,1024)) { MP> print OUTFILE $buffer; MP> } MP> close OUTFILE; MP> } MP> В результате получается файл, в котором перед каждым байтом со MP> значением (шестнадцатиричный код) 0A добавлен байт со значением MP> 0D. MP> За время поиска было заменено все, что можно - все железо на MP> компе, пробовал разные операционки (Win98,WinME,WinXP), заменены MP> все программы (сейчас используется Apache 2.0.48 win32 x86, MP> ActivePerl 5.6.1.638), но результат всегда был одинаковый. ну это уже слишком imho MP> Ткните MP> меня, куда копать, только не нужно говорить "Кури доку", уже MP> обкурился, может, что-то не вижу... perldoc -f binmode либо Perl in nutshell binmode binmode filehandle Arranges for the file to be treated in binary mode on operating systems that distinguish between binary and text files. It should be called after open but before any I/O is done on the filehandle. The only way to reset binary mode on a filehandle is to reopen the file. binmode has no effect under Unix, Plan9, or other systems that use a single \n (newline) character as a line delimiter. On systems such as Win32 or MS-DOS, binmode is needed to prevent the translation of the line delimiter characters to and from \n. http://mirrors.usaaa.ru:8001/books/perl2/perlnut/c05_006.htm Alexander --- GoldED+/LNX 1.1.5. * Origin: (c) 1982 Sinclair Research Ltd. (2:5058/2.96) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/2853444f2a8d.html, оценка из 5, голосов 10
|