Bing-Translate

 view release on metacpan or  search on metacpan

META.yml  view on Meta::CPAN

dynamic_config: 0
generated_by: 'Dist::Zilla version 4.300034, CPAN::Meta::Converter version 2.120921'
license: perl
meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: 1.4
name: Bing-Translate
requires:
  Data::Dumper: 0
  HTTP::Headers: 0
  HTTP::Request::Common: 0
  JSON: 0
  LWP::UserAgent: 0
  URI::Escape: 0
  strict: 0
  utf8: 0
  warnings: 0
version: 0.003

Makefile.PL  view on Meta::CPAN

  "CONFIGURE_REQUIRES" => {
    "ExtUtils::MakeMaker" => "6.30"
  },
  "DISTNAME" => "Bing-Translate",
  "EXE_FILES" => [],
  "LICENSE" => "perl",
  "NAME" => "Bing::Translate",
  "PREREQ_PM" => {
    "Data::Dumper" => 0,
    "HTTP::Headers" => 0,
    "HTTP::Request::Common" => 0,
    "JSON" => 0,
    "LWP::UserAgent" => 0,
    "URI::Escape" => 0,
    "strict" => 0,
    "utf8" => 0,
    "warnings" => 0
  },
  "TEST_REQUIRES" => {},
  "VERSION" => "0.003",
  "test" => {

lib/Bing/Translate.pm  view on Meta::CPAN

binmode(STDOUT, ':encoding(utf8)');
binmode(STDERR, ':encoding(utf8)');

# for translate
use LWP::UserAgent;
use HTTP::Headers;
use URI::Escape;
# for getToken
use JSON;
use Data::Dumper;
use HTTP::Request::Common qw(POST);

#http://stackoverflow.com/questions/392135/what-exactly-does-perls-bless-do
#http://www.tutorialspoint.com/perl/perl_oo_perl.htm
sub new {
        my $class = shift;
        my $self = {
                'id' => shift,
                'secret' => shift,
        };
        bless $self, $class;

lib/Bing/Translate.pm  view on Meta::CPAN

}

sub translate {
        #需要給主程式呼叫時, 要建立 $self
        my ($self, $text, $from, $to) = @_;
        $text = uri_escape($text);

        my $apiuri = "http://api.microsofttranslator.com/v2/Http.svc/Translate?"."text=".$text."&from=$from"."&to=$to"."&contentType=text/plain";
        my $agent_name='myagent';
        my $ua = LWP::UserAgent->new($agent_name);
        my $request = HTTP::Request->new(GET=>$apiuri);
        my $authToken = &getToken;
        #$request->header(Accept=>'text/html');
        $request->header(Authorization=>$authToken);

        my $response = $ua->request($request);
        #print $response->as_string, "\n";
        if ($response->is_success) {
                #print $response->decoded_content;
                my $content = $response->decoded_content;
                if ($content =~ />(.*)<\/string>/) {



( run in 0.435 second using v1.01-cache-2.11-cpan-de7293f3b23 )