<div>áÎÔÏÎ, ÓÐÁÓÉÂÏ,</div><div>š</div><div>ÉÔÏÇ</div><div><a href="https://github.com/mishin/gists/blob/master/gtrans2.pl">https://github.com/mishin/gists/blob/master/gtrans2.pl</a></div><div>š</div><div><span>#use utf8;</span></div><div><span>#use open qw<:std>;</span></div><div><span>use</span> <span>open</span> <span>OUT</span> <span>=></span> <span>':encoding(cp1251)'</span><span>;</span></div><div>š</div><div><div>š</div><div><span>&</span><span>main</span><span>;</span></div><div><span>exit</span><span>;</span></div><div>š</div><div><span>sub </span><span>main</span> <span>{</span></div><div>šššš<span>translate_text</span><span>(</span> <span>$from</span><span>,</span> <span>$to</span><span>,</span> <span>$text</span> <span>);</span></div><div><span>}</span></div><div>š</div><div><span>sub </span><span>translate_text</span> <span>{</span></div><div>šššš<span>my</span> <span>(</span> <span>$from</span><span>,</span> <span>$to</span><span>,</span> <span>$words</span> <span>)</span> <span>=</span> <span>@_</span><span>;</span></div><div>š</div><div>šššš<span>my</span> <span>$url</span> <span>=</span></div><div>šššššššš<span>'http://translate.google.com/translate_t?langpair='</span></div><div>šššššš<span>.</span> <span>$from</span> <span>.</span> <span>'|'</span></div><div>šššššš<span>.</span> <span>$to</span></div><div>šššššš<span>.</span> <span>'&text='</span> <span>.</span> <span>'+'</span></div><div>šššššš<span>.</span> <span>$words</span><span>;</span></div><div>šššš<span>my</span> <span>$ua</span> <span>=</span> <span>LWP::</span><span>UserAgent</span><span>-></span><span>new</span><span>;</span></div><div>šššš<span>$ua</span><span>-></span><span>agent</span><span>(</span><span>''</span><span>);</span></div><div>šššš<span>my</span> <span>$res</span> <span>=</span> <span>$ua</span><span>-></span><span>get</span><span>(</span><span>$url</span><span>);</span></div><div>šššš<span>die</span> <span>$res</span><span>-></span><span>status_line</span> <span>if</span> <span>$res</span><span>-></span><span>is_error</span><span>;</span></div><div>šššš<span>my</span> <span>$html</span> <span>=</span> <span>$res</span><span>-></span><span>decoded_content</span><span>;</span></div><div>š</div><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>š</div><div>šššššššš<span># my $flag = utf8::is_utf8($translated_string);</span></div><div>šššššššš<span># say "[ $flag ]"; $flag==1</span></div><div>šššššššš<span>utf8::</span><span>encode</span><span>(</span><span>$translated_string</span><span>);</span></div><div>šššššššš<span>say</span> <span>$translated_string</span><span>;</span></div><div>šššš<span>}</span></div><div><span>}</span></div><div>š</div><div><span>ÍÅÎÑ ÕÄÉ×ÉÌÏ, ÞÔÏ ÍÏÖÎÏ ÚÁËÏÍÍÅÎÔÉÒÏ×ÁÔØ use utf8, ×ÉÄÉÍÏ ÏΠÇÄÅ-ÔÏ ÅÓÔØ ÅÝÅ<br /></span></div></div><div>š</div><div>š</div><div>05.09.2013, 23:24, "Anton Nikishaev" <me@lelf.lu>:</div><blockquote type="cite"><p>On Sep 5, 2013, at 11:14 PM, Nikolay Mishin <<a href="mailto:mi@ya.ru">mi@ya.ru</a>> wrote:</p><blockquote>šòÕÓÌÁÎ, ËÒÕÔÏ, ÔÁË šÒÁÂÏÔÁÅÔ<br /><br />šuse utf8;<br />šuse open OUT => ':encoding(cp1251)';</blockquote><p>+use open qw<:std>;</p><blockquote>šsub translate_text {<br />šššššmy ( $from, $to, $words ) = @_;<br /><br />šššššmy $url =<br />ššššššššš'<a href="http://translate.google.com/translate_t?langpair='">http://translate.google.com/translate_t?langpair='</a><br />ššššššš. $from . '|'<br />ššššššš. $to<br />ššššššš. '&text=' . '+'<br />ššššššš. $words;<br />šššššmy $ua = LWP::UserAgent->new;<br />ššššš$ua->agent('');<br />šššššmy $res = $ua->get($url);<br />šššššdie $res->status_line if $res->is_error;<br />šššššmy $html = $res->decoded_content;<br /><br />šššššmy @matches =<br />ššššššš$html =~ m{onmouseout="this.style.backgroundColor='#fff'">(.*?)</span>}g;<br /><br />šššššforeach my $translated_string (@matches) {<br />šššššššššsay $translated_string;<br />ššššš}<br />š}<br /><br />š<a href="https://github.com/mishin/gists/blob/master/gtrans2.pl">https://github.com/mishin/gists/blob/master/gtrans2.pl</a><br />šÎÏ<br />š$./gtrans2.pl --from en --to ru --text "This is a test"<br />šWide character in say at ./gtrans2.pl line 63.<br />šüÔÏ ÔÅÓÔ<br /><br />š05.09.2013, 22:50, "Ruslan Zakirov" <<a href="mailto:ruz@bestpractical.com">ruz@bestpractical.com</a>>:<br /><blockquote>š->decoded_content É use open OUT => ':encoding(cp1251)';<br /><br />šôÏÇÄÁ ÓÏ×ÓÅÍ ÍÏÖÎÏ ÎÅ ÚÁÍÏÒÁÞÉ×ÁÔØÓÑ :)<br /><br /><br />š2013/9/5 Anton Nikishaev <<a href="mailto:me@lelf.lu">me@lelf.lu</a>><br /><br />šOn Sep 5, 2013, at 10:16 PM, Nikolay Mishin <<a href="mailto:mi@ya.ru">mi@ya.ru</a>> wrote:<br /><blockquote>ššEncode::from_to( $translated_string, 'koi8', 'cp1251' );<br /><br />š$perl gtrans.pl --from=en --to=ru --text='This is a test'<br />šUnknown encoding 'KOI8' at gtrans.pl line 63</blockquote>šïÎÁ ÎÁÚÙ×ÁÅÔÓÑ koi8-r<br /><blockquote>š05.09.2013, 20:01, "ïÌÅÇ áÌÅËÓÅÅÎËÏ×" <<a href="mailto:proler@gmail.com">proler@gmail.com</a>>:<br /><blockquote>šNikolay Mishin <<a href="mailto:mi@ya.ru">mi@ya.ru</a>> ÐÉÓÁÌ(Á) × Ó×ϣ͠ÐÉÓØÍÅ Thu, 05 Sep 2013<br />š08:38:50 +0400:<br /><blockquote>šš×ÏÐÒÏÓ, ÍÏÖÎÏ ÌÉ ÓÔÒÏËÕ<br />ššConvert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string );<br />ššEncode::from_to( $interm_var, 'utf-8', 'cp1251' );<br />ššÚÁÍÅÎÉÔØ ÏÄÎÉÍ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅÍ, ÞÔÏÂÙ ÎÁ ×ÙÈÏÄÅ ÂÙÌ win1251?<br />ššÕ ÍÅÎÑ ÜÔÏÇÏ ÎÅ ÐÏÌÕÞÉÌÏÓØ</blockquote>šÁ ÐÏÞÅÍÕ ÎÅ ÒÁÂÏÔÁÅÔ<br />šEncode::from_to( $interm_var, 'koi8', 'cp1251' );<br />š?<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/">http://moscow.pm.org</a></blockquote>š--<br />šó Õ×ÁÖÅÎÉÅÍ<br />šîÉËÏÌÁÊ íÉÛÉÎ<br /><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/">http://moscow.pm.org</a></blockquote>š--<br />šMoscow.pm mailing list<br />š<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org/">http://moscow.pm.org</a><br /><br /><br /><br />š-- <br />šBest regards, Ruslan.<br />š,<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/">http://moscow.pm.org</a></blockquote>š-- <br />šó Õ×ÁÖÅÎÉÅÍ<br />šîÉËÏÌÁÊ íÉÛÉÎ<br /><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/">http://moscow.pm.org</a></blockquote><p>š</p>,<p>-- <br />Moscow.pm mailing list<br /><a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org/">http://moscow.pm.org</a></p></blockquote><div>š</div><div>š</div><div>-- <br /><div>ó Õ×ÁÖÅÎÉÅÍ</div><div>îÉËÏÌÁÊ íÉÛÉÎ<br /><div>š</div></div></div>