最近書いたPerlモジュールとかパッチとか12月頭頃は、今年関わった案件を振り返って、共有できそうな部分をコード化したりとかしていた。いう下回りを整備するような作業は割と好き。その中で一応公開できそうなやつとかを以下に記す。Encode::JP::Mobile::UnicodeEmojiiOS5から絵文字がUnicode絵文字になってたりとかAndroid対応とかでUnicode絵文字対応がちょっと必要になって書いた。昔はUnicode絵文字とか無かったのでEncode::JP::MobileはUnicode私用領域に絵文字をマッピングする仕様になってますが、Unicode絵文字領域の文字をそのEncode::JP::Mobileの私用領域にマッピングしてしまうという後ろ向きモジュール。絵文字はEncode::JP::Mobileの私用領域のレンジでDBに保存しているとか言うことも多いので、そういうサービスでスマホにも対応させる場合、Unicode絵文字も同様の対応を取らざるを得ないこともあり、その変換をするためのモジュールです。一応動きますが、実装は超適当です。したマッピングを書いているわけではなく、Encode::JP::EmojiとEncode::JP::Mobileの合わせ技で無理やり実現しているという...。Fallbackとかもよく分からなかったんで指定していません!(キリッなので、現状githubのみ。HTTP::MobileAgent::Plugin::SmartPhoneHTTP::MobileAgentにis_iosとかis_smartphoneとかそういうメソッドを生やしたかったので書いた。これも一応動きますが、正規表現直書き判定でメンテナンス性とかを考えてないので駄目な感じ。同様にgithubのみ。req送って取り込んでもらった。バージョンによって出る問題だかと思って深く追ってなかったからなんだけど、File::RsyncのChangelog見てみたら実はそんなこと無かったので、取り込んでもらった次第。(File::Rsync::(?:err|out)が以前はString返していたのが、Arrayを返すようになったとか想像していたら、もともとArray(?:_ref)?を返していてそんなことはなかった。)File::Rsync::(?:err|out)はコンテキストに応じてリストかarray_refかを返すようになっている。$rsync->out;とかやって無理やりリストコンテキストで返すようにしている。Archerは超便利に使わせてもらってるんだけど、情報が少ないし、まだ使いきれてない感があるから、もうちょっと知見を貯めていきたい。弊社では活用されていますが、バラバラに使っていて知見が共有できておりません。Plugin::ConfirmがPerl5.14では上手く動かない問題なんかもあるから、ちょっと手を入れてみようかな。ちなみに、ArcherのwatcherがAuthor除くと弊社社員だけで吹いた。