Taiki Kawakami / Acme-AjiFry-0.05 - search.cpan.org
Acme::AjiFry なるCPAN モジュールをリリース致しました。
CPAN Author になってから初のモジュールリリースなので、つまりは処女作です。
処女なのにAcme とはこれ如何に。
「リリース致しました」とか言ってるけど、バージョンが0.05 じゃん
すみません、色々あったのでバージョンが重なってしまいました。(License がUNKNOWN になっちゃってたり、SYNOPSIS がイカれてたり……そこら辺を直してたらこうなりました)
なので
日本語(ひらがな)をアジフライ語にする、またはその逆を行う"Acme::AjiFry" の他に、英数字と半角スペースをアジフライ語にする、またはその逆を行う"Acme::AjiFry::EN" と、
use するとそれ以降のソースコードがアジフライ語に変換されてしまう(でも実行できる)"Acme::AjiFry::Perl" をご用意致しました。
英数字・半角スペースとアジフライ語の対応について
オフィシャルには *1、アジフライ語は英数字及び半角スペースに対応していません。なので、"Acme::AjiFry::EN" と"Acme::AjiFry::Perl" で使用している「英数字及び半角スペース・アジフライ語変換テーブル」は僕が勝手に実装しました。
もはやソースコード自体が対応表みたくなっているので、詳しくはソースを読んでもらえればと思います。
使い方
"Acme::AjiFry" と"Acme::AjiFry::EN" に関してはSYNOPSIS 通りなので、そちらをご参照下さい。Acme::AjiFry - search.cpan.org
Acme::AjiFry::EN - search.cpan.org
"Acme::AjiFry::Perl" の挙動がちょっとアレなので、補足しておきます。
例えば、
#!/usr/bin/env perl use utf8; use strict; use warnings; use Acme::AjiFry::Perl; print "Hello\n"; print "This is\n"; print "Acme::AjiFry::Perl\n"; print "Sample Code!\n";というコードを実行すると、
$ ./acme_ajifry_perl_test.pl Hello This is Acme::AjiFry::Perl Sample Code!という出力が得られます。
更に自身のソースコードを
#!/usr/bin/env perl use utf8; use strict; use warnings; use Acme::AjiFry::Perl; アジ食え食えアジお刺身フライむむ・・・お刺身むむ・・・アジアジフライ中川"岡星むむ・・・食えアジフライお刺身ドボドボお刺身ドボドボお刺身アジフライ\お刺身むむ・・・"; アジ食え食えアジお刺身フライむむ・・・お刺身むむ・・・アジアジフライ中川"雄山食え食えフライお刺身フライむむ・・・アジむむ・・・中川フライむむ・・・アジむむ・・・\お刺身むむ・・・"; アジ食え食えアジお刺身フライむむ・・・お刺身むむ・・・アジアジフライ中川"山岡ドボドボ食えお刺身お刺身お刺身食えアジフライ::山岡ドボドボフライアジフライフライむむ・・・岡星ドボドボアジお刺身ドボアジフライ::ああドボドボ食えアジフライアジお刺身お刺身ドボドボ\お刺身むむ・・・"; アジ食え食えアジお刺身フライむむ・・・お刺身むむ・・・アジアジフライ中川"ああアジフライ食え食え食えお刺身お刺身アジ食え食えお刺身ドボドボ食えアジフライ中川山岡むむ・・・お刺身アジフライ食えむむ・・・食えアジフライ!\お刺身むむ・・・";というコードに書き換えます。
で、このコードを実行すると、元のコード同様、
$ ./acme_ajifry_perl_test.pl Hello This is Acme::AjiFry::Perl Sample Code!という出力が得られます。
そんな感じです。それ以上の機能は無いです。
ただ、eval に文字列をブチ込んでスクリプトを実行させているので、実装方法としてはアレです。
もちろん、Test::Perl::Critic に怒られます。仕方が無く無視しました。*2
Acme::AjiFry を作成するにあたって参考にしたもの
AAAAAAAAA - search.cpan.orgAcme::Bleach::Numerically - search.cpan.org
大変参考にしましたし、大変勉強になりました。ありがとうございました。
I referenced above modules. And I learned a lot of things from those. Thanks!