GlitchIMEの Perl版

勉強のために書いてみた。APIは同じにしてます。
実装もほとんど同じです。

サンプル

p5-App-GlitchIME/sample.pl at master · syohex/p5-App-GlitchIME · GitHub

#!/usr/bin/env perl
use strict;
use warnings;

use lib "../lib";
use App::GlitchIME;

binmode STDOUT, ":utf8";

my $text = shift or die "Usage: $0 japanse_sentense";
my $ime = App::GlitchIME->new($text);

for (1..10) {
    print $ime->generate, "\n";
}

実行結果

  % perl sample.pl 'さくらぎ,りん'
  桜木林
  桜木りん
  桜城琳
  桜木琳
  桜木凛
  桜城凛
  桜木リン
  桜木林
  櫻木凛
  櫻木リン

回文.pl

回文.rb - ミニマリストhitode909の日記
も合わせて書いてみた。

p5-App-GlitchIME/kaibun.pl at master · syohex/p5-App-GlitchIME · GitHub

#!/usr/bin/env perl
use strict;
use warnings;

use lib "../lib";

use Encode;
use App::GlitchIME;

my $input = shift or die "Usage: $0 japanse_sentence";
my $decoded = decode_utf8($input);

my $text = $decoded . reverse(substr $decoded, 0, -1);

my $ime = App::GlitchIME->new(encode_utf8($text));

for (1..10) {
    print encode_utf8($ime->generate), "\n";
}

実行結果

  % perl kaibun.pl ぱある
  波アルapa
  把或るアパ
  パ歩行APA
  パ或るAPA
  羽或るアパ
  羽アルapa
  波歩行アパ
  パ歩行APA
  パあるAPA
  話或るAPA