<div dir="ltr"><div><br></div><div>Нормально `use open` заюзать так:</div><a href="http://gist.github.com/6456522">http://gist.github.com/6456522</a><br><div><br></div><div>Но еще более верно:</div><div><br></div><div>use open ':locale';</div>
<div><br></div><div>И запускать с нужной локалью:</div><div><br></div><div>LANG="ru_RU.cp1251" <a href="http://gtrans.pl">gtrans.pl</a></div><div><br></div><div>Или если не может тулза установить переменную окружения, то:</div>
<div><br></div><div><a href="http://gtrans.pl">gtrans.pl</a> | iconv -t cp1251<br></div><div><br></div><div>Если и так не может, то тулзу обернуть в gtrans-cp1251.sh :)</div><div><br></div><div>Или --encoding аргумент добавить, разбор аргументов в BEGIN {}, а потом use open $encoding? (':std', ":encoding($encoding)") : ':locale';</div>
<div><br></div><div>Кошерно :)</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/5 Nikolay Mishin <span dir="ltr"><<a href="mailto:mi@ya.ru" target="_blank">mi@ya.ru</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>MoscowPM, добрый день,</div><div> </div><div>Есть скрипт</div><div>перевода гугла из командной строки</div><div><a href="https://github.com/mishin/gists/blob/master/gtrans.pl" target="_blank">https://github.com/mishin/gists/blob/master/gtrans.pl</a></div>
<div>запускается</div><div><pre><span><a href="http://gtrans.pl" target="_blank">gtrans.pl</a> --from en --to ru --text "This is a test"<br><br>из командной строки<br>гугл выдает строки в KOI<br><br>я парсю вывод гугла:<br>
</span></pre><div> <span>my</span> <span>@matches</span> <span>=</span></div><div>      <span>$html</span> <span>=~</span> <span>m{onmouseout="this.style.backgroundColor='#fff'">(.*?)</span>}g</span><span>;</span></div>
<div> </div><div>    <span>foreach</span> <span>my</span> <span>$translated_string</span> <span>(</span><span>@matches</span><span>)</span> <span>{</span></div><div>        <span>my</span> <span>$interm_var</span> <span>=</span></div>
<div>          <span>Convert::Cyrillic::</span><span>cstocs</span><span>(</span> <span>'KOI8'</span><span>,</span> <span>'UTF8'</span><span>,</span> <span>$translated_string</span> <span>);</span></div><div>
        <span>Encode::</span><span>from_to</span><span>(</span> <span>$interm_var</span><span>,</span> <span>'utf-8'</span><span>,</span> <span>'cp1251'</span> <span>);</span></div><div>        <span>say</span> <span>$interm_var</span><span>;</span></div>
<div>    <span>}</span></div><div> </div><div><span>вопрос, можно ли строку</span></div><div> </div><div><div>          <span>Convert::Cyrillic::</span><span>cstocs</span><span>(</span> <span>'KOI8'</span><span>,</span> <span>'UTF8'</span><span>,</span> <span>$translated_string</span> <span>);</span></div>
<div>        <span>Encode::</span><span>from_to</span><span>(</span> <span>$interm_var</span><span>,</span> <span>'utf-8'</span><span>,</span> <span>'cp1251'</span> <span>);</span></div><div> </div><div><span>заменить одним преобразованием, чтобы на выходе был win1251?</span></div>
<div><span>у меня этого не получилось</span></div><div><span>спасибо</span></div></div></div><div> </div><div>- <br><div>С уважением</div><div>Николай Мишин<br><div> </div></div></div><br>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Best regards, Ruslan.
</div>