Acme-Pinoko
view release on metacpan or search on metacpan
NAME
Acme::Pinoko - Acchonburike!
SYNOPSIS
use Acme::Pinoko;
use utf8;
my $pinoko = Acme::Pinoko->new(%config);
print $pinoko->say('ããã³ï¼ï¼ã®ã¬ãã£ãªã®ã');
# -> ããã³ï¼ï¼ã®ã¬ã¬ã¤ãªã®ãã
DESCRIPTION
Acme::Pinoko converts standard Japanese text to Pinoko-ish Japanese
text.
Pinoko is a Japanese manga character. She speaks with a lisp and
benchmark/pinoko_vs_geso.pl view on Meta::CPAN
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use Acme::Pinoko;
#use Acme::Ikamusume; # Acme::Ikamusume invades Text::MeCab globally
use Benchmark qw/cmpthese timethese/;
use open qw/:utf8 :std/;
my $kytea_pinoko = Acme::Pinoko->new(parser => 'Text::KyTea');
my $mecab_pinoko = Acme::Pinoko->new(parser => 'Text::MeCab');
my $text ='ãã¯ãããããã¾ããï¾ï¾ï¾ï½º' x 10;
cmpthese(
timethese(-1, {
'kytea_pinoko' => \&kytea_pinoko,
lib/Acme/Pinoko.pm view on Meta::CPAN
package Acme::Pinoko;
use 5.008_008;
use strict;
use warnings;
use utf8;
use Carp ();
use Encode ();
use Module::Load ();
use Data::Recursive::Encode ();
use Lingua::JA::Regular::Unicode ();
use Lingua::JA::Halfwidth::Katakana;
our $VERSION = '0.02';
lib/Acme/Pinoko.pm view on Meta::CPAN
push(@poses, $pos);
push(@prons, $pron);
}
}
}
else # Text::KyTea
{
my $results = $self->{parser}->parse($$text_ref);
$results = Data::Recursive::Encode->decode_utf8($results);
for my $result (@{$results})
{
push(@surfaces, $result->{surface});
push(@poses, $result->{tags}[$KYTEA_POSTAG_NUM][0]{feature});
push(@prons, $result->{tags}[$KYTEA_PRONTAG_NUM][0]{feature});
}
}
return (\@surfaces, \@poses, \@prons);
lib/Acme/Pinoko.pm view on Meta::CPAN
s/ã©(?!ã)/ã/g;
s/ã (?!ã®ã|ã|ã)/ã/g;
$_;
}
1;
__END__
=encoding utf8
=head1 NAME
Acme::Pinoko - Acchonburike!
=for test_synopsis
my (%config);
=head1 SYNOPSIS
use Acme::Pinoko;
use utf8;
my $pinoko = Acme::Pinoko->new(%config);
print $pinoko->say('ããã³ï¼ï¼ã®ã¬ãã£ãªã®ã');
# -> ããã³ï¼ï¼ã®ã¬ã¬ã¤ãªã®ãã
=head1 DESCRIPTION
Acme::Pinoko converts standard Japanese text to Pinoko-ish Japanese text.
Pinoko is a Japanese manga character. She speaks with a lisp and
t/03_say_mecab.t view on Meta::CPAN
use strict;
use warnings;
use utf8;
use Test::Requires qw/Text::MeCab/;
use Test::Base;
plan tests => 1 * blocks;
binmode Test::More->builder->$_ => ':utf8'
for qw/output failure_output todo_output/;
use Acme::Pinoko;
my $pinoko = Acme::Pinoko->new(parser => 'Text::MeCab');
run
{
my $block = shift;
is($pinoko->say($block->input), $block->expected);
t/04_say_kytea.t view on Meta::CPAN
use strict;
use warnings;
use utf8;
use Test::Requires qw/Text::KyTea/;
use Test::Base;
plan tests => 1 * blocks;
binmode Test::More->builder->$_ => ':utf8'
for qw/output failure_output todo_output/;
use Acme::Pinoko;
my $pinoko = Acme::Pinoko->new(parser => 'Text::KyTea');
run
{
my $block = shift;
is($pinoko->say($block->input), $block->expected);
( run in 1.185 second using v1.01-cache-2.11-cpan-49f99fa48dc )