Как включить(подвязать) отображение русских букв в Perl в командной ст

Тема в разделе "Perl программирование", создана пользователем Redee, 26 дек 2010.

  1. Redee

    Redee Гость

    Как включить(подвязать) отображение русских букв в Perl в командной строке виндовс?
    При запуске программы Perl, установлен ActivePerl (команд. строка виндовс -- пуск - выполнить - cmd) место русских символов выдает иероглифы, вот исходник >>>

    Код (Text):
    #!/usr/bin/perl -w

    print "Величина месячного взноса?";
    $pmt=<STDIN>;
    chomp $pmt;

    print "Годовая процентная ставка? (пример 7% - 0.07)";
    $interest=<STDIN>;
    chomp $interest;

    print "Период депозита в месяцах?";
    $mons=<STDIN>;
    chomp $mons;

    # В формуле заложена месячная процентная ставка
    $interest/=12;

    $total=$pmt*((1+$interest)**($mons-1))/$interest;

    print "После $mons месяцев при ежемесячной ставке $interest\n";
    print "у вас будет сумма $total.\n";
    Вот наглядно что выходит>>>
    [​IMG]

    З.Ы. Только начал изучать, объясните пожалуйста поподробнее.
     
  2. brunchik

    brunchik Гость

    Форум программистов называется.115 просмотров и заданый вопрос в прошлом году.А ответов 0.Я то же задал и у меня 37 просмотров и тишина.А попробуй сейчас мат напиши так все сразу проснутся.Я сам решу свой вопрос и тут все еще будет тишина.
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Используй модули:
    Код (Text):
    use locale;
    use encoding 'cp1251';
    У меня так же было.Я один раз объявил и теперь у меня без вызова этих модулей все с русским Ок.
    Тут видимо этого не знают!
     
  3. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    Ну если вы знаете, так помогите. Здесь никто никому ничего не должен.
     
  4. Redee

    Redee Гость

    Короче решил так, сначала код стал таким >>>
    Код (Text):
    #!/usr/bin/perl -w
    use Encode qw(encode decode);
    $content = "Величина месячного взноса?";
    $content = Encode::encode('cp866', Encode::decode('cp1251', $content));
    print $content;
    $pmt=<STDIN>;
    chomp $pmt;

    $content = "Годовая процентная ставка? (пример 7% - 0.07)";
    $content = Encode::encode('cp866', Encode::decode('cp1251', $content));
    print $content;
    $interest=<STDIN>;
    chomp $interest;

    $content = "Период депозита в месяцах?";
    $content = Encode::encode('cp866', Encode::decode('cp1251', $content));
    print $content;
    $mons=<STDIN>;
    chomp $mons;

    # В формуле заложена месячная процентная ставка
    $interest/=12;

    $total=$pmt*((1+$interest)**($mons-1))/$interest;

    $content = "После";
    $content = Encode::encode('cp866', Encode::decode('cp1251', $content));
    $content2 = "месяцев при ежемесячной ставке";
    $content2 = Encode::encode('cp866', Encode::decode('cp1251', $content2));
    print "$content $mons $content2 $interest\n";

    $content = "У вас будет сумма";
    $content = Encode::encode('cp866', Encode::decode('cp1251', $content));
    print "$content $total.\n";
    Потом нашел такой способ >>>
    Код (Text):
    #!/usr/bin/perl -w
    use Encode qw(encode decode);

    sub print_enc {
    my $text = shift; # получили текст
    my $from = shift||"cp1251"; # если нужно указали другую кодировку или по умолчанию
    my $to = shift||"cp866"; # если нужно указали другую кодировку или по умолчанию
    $text = Encode::encode($to, Encode::decode($from, $text));
    print $text;
    }

    print_enc "Величина месячного взноса?";
    $pmt=<STDIN>;
    chomp $pmt;

    print_enc "Годовая процентная ставка? (пример 7% - 0.07)";
    $interest=<STDIN>;
    chomp $interest;

    print_enc "Период депозита в месяцах?";
    $mons=<STDIN>;
    chomp $mons;

    # В формуле заложена месячная процентная ставка
    $interest/=12;

    $total=$pmt*((1+$interest)**($mons-1))/$interest;

    print_enc "После $mons месяцев при ежемесячной ставке $interest
    у вас будет сумма $total.\n";
    З.Ы. инфу рыл здесь >>>
    http://forum.vingrad.ru/forum/topic-318912...сские-perl.html

    и здесь >>>
    http://forum.vingrad.ru/topic-139072/view-.../p-1050192.html
     
  5. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    И бан дадут
     
Загрузка...

Поделиться этой страницей