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
therefore her spoken Japanese is slightly different from standard
Japanese.
METHODS
$pinoko = Acme::Pinoko->new(%config)
Creates a new Acme::Pinoko instance.
my $pinoko = Acme::Pinoko->new(
parser => 'Text::MeCab' or 'Text::KyTea', # default is 'Text::MeCab'
parser_config => \%parser_config, # default is undef
);
$pinoko_ish_text = $pinoko->say($text)
Pinoko says $text.
AUTHOR
pawa <pawapawa@cpan.org>
SEE ALSO
<https://en.wikipedia.org/wiki/Black_Jack_%28manga%29#Characters>
LICENSE
This library is free software; you can redistribute it and/or modify it
benchmark/pinoko_vs_geso.pl view on Meta::CPAN
cmpthese(
timethese(-1, {
'kytea_pinoko' => \&kytea_pinoko,
'mecab_pinoko' => \&mecab_pinoko,
#'geso' => \&geso,
})
);
sub kytea_pinoko
{
my $result = $kytea_pinoko->say($text);
}
sub mecab_pinoko
{
my $result = $mecab_pinoko->say($text);
}
=begin
sub geso
{
my $result = Acme::Ikamusume->geso($text);
}
=end
=cut
lib/Acme/Pinoko.pm view on Meta::CPAN
=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
therefore her spoken Japanese is slightly different from standard Japanese.
=head1 METHODS
=head2 $pinoko = Acme::Pinoko->new(%config)
Creates a new Acme::Pinoko instance.
my $pinoko = Acme::Pinoko->new(
parser => 'Text::MeCab' or 'Text::KyTea', # default is 'Text::MeCab'
parser_config => \%parser_config, # default is undef
);
=head2 $pinoko_ish_text = $pinoko->say($text)
Pinoko says $text.
=head1 AUTHOR
pawa E<lt>pawapawa@cpan.orgE<gt>
=head1 SEE ALSO
L<https://en.wikipedia.org/wiki/Black_Jack_%28manga%29#Characters>
use warnings;
use Acme::Pinoko;
use Test::More;
SKIP: {
eval { require Text::MeCab; };
skip 'Text::MeCab not installed', 1 if $@;
my $pinoko = Acme::Pinoko->new;
is($pinoko->say('ABC'), 'ABC', 'normal text');
is($pinoko->say(undef), undef, 'undefined text');
is($pinoko->say(''), '', 'empty text');
is($pinoko->say(0), '0', 'zero');
is($pinoko->say("\n"), "\n", '\n');
is($pinoko->say("\t"), "\t", '\t');
}
SKIP: {
eval { require Text::KyTea; };
skip 'Text::KyTea not installed', 1 if $@;
my $pinoko = Acme::Pinoko->new(parser => 'Text::KyTea');
is($pinoko->say('ABC'), 'ABC', 'normal text');
is($pinoko->say(undef), undef, 'undefined text');
is($pinoko->say(''), '', 'empty text');
is($pinoko->say(0), '0', 'zero');
is($pinoko->say("\n"), "\n", '\n');
is($pinoko->say("\t"), "\t", '\t');
}
done_testing;
t/03_say_mecab.t view on Meta::CPAN
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);
};
__DATA__
=== No change
--- input: ãã£ããããã¨ããªã®ã«ã
--- expected: ãã£ããããã¨ããªã®ã«ã
=== No change
t/04_say_kytea.t view on Meta::CPAN
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);
};
__DATA__
=== No change
--- input: ãã£ããããã¨ããªã®ã«ã
--- expected: ãã£ããããã¨ããªã®ã«ã
=== No change
( run in 0.757 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )