On Thu, 30 Jul 1998, Alexander N. Sorokin wrote:
>
>
> On Thu, 30 Jul 1998, Alex Povolotsky wrote:
>
> > <Pine.BSI.3.96.980730111217.26825F-100000@party.fe.msk.ru>vitus@fe.msk.ru
> > writes:
> > >Впрочем, как показала практика - разбирать file upload из Registry
> > >нельзя все равно. Кто не верит, попробуйте в registry-скрипт зааплоадить
> > >мегабайта этак 4 (я экспериментировал с дистрибутивом Acrobat Reader for
> > >Solaris). Так что лучше это из CGI делать.
> > Мне _заведомо_ не потребуется более 200 кил. Ладно, буду руками...
>
> А зачем руками, написал же vitus что можно из CGI, я тоже об этом слышал,
> да вот где бы поиметь примерчик такого скрипта? ;)
Вот самое главное - набор перловых tr для перекодировки (C)yril Slobin.
Работают они так: в зависимости от значения $ENV{CHARSET}
загоняешь в переменную ссылку на нужную функцию
$recode=\&win2koi
а потом берешь и делаешь
&$recode $_;
--------------------------------------------------
Victor Wagner vitus@ice.ru
Programmer Office:7-(095)-333-2022
Institute for Commerce Home: 7-(095)-135-46-61
Engineering http://www.ice.ru/~vitus
sub alt2koi
{
$_[0] =~ tr/\200-\377/\341\342\367\347\344\345\366\372\351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376\373\375\377\371\370\374\340\361\301\302\327\307\304\305\326\332\311\312\313\314\315\316\317\320\220\221\222\201\207\262\264\247\246\265\241\250\256\255\254\203\204\211\210\206\200\212\257\260\253\245\273\270\261\240\276\271\272\266\267\252\251\242\244\275\274\205\202\215\214\216\217\213\322\323\324\325\306\310\303\336\333\335\337\331\330\334\300\321\263\243\231\230\223\233\237\227\234\225\236\226\277\235\224\232/;
}
sub iso2koi
{
$_[0] =~ tr/\200-\377/\220\221\222\201\207\262\264\247\246\265\241\250\256\255\254\203\204\211\210\206\200\212\257\260\253\245\273\270\261\240\276\271\272\266\267\252\251\242\244\275\274\205\202\215\214\216\217\213\341\342\367\347\344\345\366\372\351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376\373\375\377\371\370\374\340\361\301\302\327\307\304\305\326\332\311\312\313\314\315\316\317\320\322\323\324\325\306\310\303\336\333\335\337\331\330\334\300\321\263\243\231\230\223\233\237\227\234\225\236\226\277\235\224\232/;
}
sub win2koi
{
$_[0] =~ tr/\200-\377/\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\240\233\260\235\267\237\232\241\242\270\244\245\246\247\263\277\252\253\254\255\256\257\234\261\262\250\264\265\266\236\243\271\272\273\274\275\276\251\341\342\367\347\344\345\366\372\351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376\373\375\377\371\370\374\340\361\301\302\327\307\304\305\326\332\311\312\313\314\315\316\317\320\322\323\324\325\306\310\303\336\333\335\337\331\330\334\300\321/;
}
sub koi2alt
{
$_[0] =~ tr/\200-\377/\304\263\332\277\300\331\303\264\302\301\305\337\334\333\335\336\260\261\262\364\376\371\373\367\363\362\377\365\370\375\372\366\315\272\325\361\326\311\270\267\273\324\323\310\276\275\274\306\307\314\265\360\266\271\321\322\313\317\320\312\330\327\316\374\356\240\241\346\244\245\344\243\345\250\251\252\253\254\255\256\257\357\340\341\342\343\246\242\354\353\247\350\355\351\347\352\236\200\201\226\204\205\224\203\225\210\211\212\213\214\215\216\217\237\220\221\222\223\206\202\234\233\207\230\235\231\227\232/;
}
sub koi2iso
{
$_[0] =~ tr/\200-\377/\224\203\252\217\220\251\223\204\222\221\225\257\254\253\255\256\200\201\202\364\376\371\373\367\363\362\377\365\370\375\372\366\235\212\245\361\246\231\210\207\213\244\243\230\216\215\214\226\227\234\205\360\206\211\241\242\233\237\240\232\250\247\236\374\356\320\321\346\324\325\344\323\345\330\331\332\333\334\335\336\337\357\340\341\342\343\326\322\354\353\327\350\355\351\347\352\316\260\261\306\264\265\304\263\305\270\271\272\273\274\275\276\277\317\300\301\302\303\266\262\314\313\267\310\315\311\307\312/;
}
sub koi2win
{
$_[0] =~ tr/\200-\377/\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\240\233\260\235\267\237\232\241\242\270\244\245\246\247\263\277\252\253\254\255\256\257\234\261\262\250\264\265\266\236\243\271\272\273\274\275\276\251\376\340\341\366\344\345\364\343\365\350\351\352\353\354\355\356\357\377\360\361\362\363\346\342\374\373\347\370\375\371\367\372\336\300\301\326\304\305\324\303\325\310\311\312\313\314\315\316\317\337\320\321\322\323\306\302\334\333\307\330\335\331\327\332/;
}
sub nothing
{
# nothing to do
}
sub koi2lat
{
$_[0] =~ tr/\300-\377/\300abcdefghiiklmnop\321rstujv'yz\333e\335\336'\340ABCDEFGHIIKLMNOP\361RSTUJV'YZ\373E\375\376'/;
$_[0] =~ s/\300/iu/g;
$_[0] =~ s/\321/ia/g;
$_[0] =~ s/\333/sh/g;
$_[0] =~ s/\335/sc/g;
$_[0] =~ s/\336/ch/g;
$_[0] =~ s/\340/IU/g;
$_[0] =~ s/\361/IA/g;
$_[0] =~ s/\373/SH/g;
$_[0] =~ s/\375/SC/g;
$_[0] =~ s/\376/CH/g;
}
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.