The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl -w
use lib "/home/christ/MyPerlLib";
use Lingua::DetectCyrillic qw ( &toLowerCyr &toUpperCyr &TranslateCyr %RusCharset );
use Benchmark;

# Àíàëèçèðóåì ïåðåìåííûå îêðóæåíèÿ. Íó î÷åíü íå õî÷åòñÿ èñïîëüçîâàòü CGI.pm íà 240 Êá!
for ( split("&",$ENV{QUERY_STRING} ) ) {
  my ($key,$value) = split("=",$_);  $QStringData{$key} = $value; }

$Text_area = $QStringData{Text_area};
$Text_area =~ s/%([A-Fa-f\d]{2})/chr hex $1/eg; # unescape the string
$Text_area =~ s/\+/ /g; # remove plus signs

$MaxTokens = $QStringData{MaxTokens};
$DetectAllLang = $QStringData{DetectAllLang};

$CyrDetector = Lingua::DetectCyrillic ->new( MaxTokens => $MaxTokens, DetectAllLang => $DetectAllLang );
$timestart=new Benchmark;
( $Coding,$Language,$CharsProcessed, $Algorithm )= $CyrDetector -> Detect($Text_area);
#$CyrDetector -> LogWrite("test_log.log");
$timedf=timestr(timediff(new Benchmark,$timestart));

$Charset = $Coding;

#Ôîðìèðóåì àáñîëþòíûé ìàðøðóò ê òîìó êàòàëîãó, èç êîòîðîãî ïðèøåë çàïðîñ
$ENV{HTTP_REFERER} =~ m|(.*$ENV{HTTP_HOST})(.*/)(.*)$| ;
$Inc .=$ENV{DOCUMENT_ROOT} .$2. "DetectCyrillic_test.inc";

if ( $Language eq "NoLang" ) {
  $DocTitle = "Detection of Language and Coding";
  # Ïðîáóåì ñìåíèòü ÿçûê íà en
  ($IncAlt=$Inc) =~ s#(/ru/|/uk/)#/en/#;

  if ( -e $IncAlt ) {
  # Åñëè àíãëèéñêèé îò÷åò åñòü, ïîêàçûâàåì åãî, èíà÷å - óñòàíàâëèâàåì
  # ïðèíóäèòåëüíî windows-1251
   $Inc = $IncAlt;
   print  "Content-Type: text/html; charset=iso-8859-1\n\n";
    } else {
   print  "Content-Type: text/html; charset=windows-1251\n\n";
  }


} else {
  $DocTitle = TranslateCyr(win,$Charset,"Îïðåäåëåíèå êîäèðîâêè è ÿçûêà");
  $Text_area_win = TranslateCyr($Charset,"windows-1251",$Text_area);
  $Text_area_koi8r = TranslateCyr($Charset,"koi8-r",$Text_area);
  $Text_area_koi8u = TranslateCyr($Charset,"koi8-u",$Text_area);
  $Text_area_utf = TranslateCyr($Charset,"utf-8",$Text_area);
  $Text_area_cp866 = TranslateCyr($Charset,"cp866",$Text_area);
  $Text_area_iso = TranslateCyr($Charset,"iso-8859-5",$Text_area);
  $Text_area_mac = TranslateCyr($Charset,"x-mac-cyrillic",$Text_area);
  print  "Content-Type: text/html; charset=$Charset\n\n";

}

require $Inc;