"あ"を"ぁ"に変換するスクリプト
30分プログラム、その637。"あ"を"ぁ"に変換するスクリプトを書いてみた。特に意味はない。
"A"を"a"にする関数があるんなら、"あ"を"ぁ"にする関数があってもいいんじゃない?と思ったのでやってみた。
最初は、文字単位に分割してmapするとか、正規表現を使って置き換えるとか考えていたけど、途中でtrを使えばいいことに気がついた。
使い方
$ perl lc.pl HELLO,WORLD hello,world $ perl lc.pl こんにちは、せかい こんにちは、せかぃ
ソースコード
#! /usr/bin/perl # -*- mode:perl; coding:utf-8 -*- # # downcase.pl - # # Copyright(C) 2009 by mzp # Author: MIZUNO Hiroki / mzpppp at gmail dot com # http://howdyworld.org # # Timestamp: 2009/08/11 22:00:37 # # This program is free software; you can redistribute it and/or # modify it under MIT Lincence. # use strict; use warnings; use utf8; use charnames qw/:full/; use Data::Dumper; use Encode; our %table = ( 'あ' => 'ぁ', 'い' => 'ぃ', 'う' => 'ぅ', 'え' => 'ぇ', 'お' => 'ぉ', 'や' => 'ゃ', 'ゆ' => 'ゅ', 'よ' => 'ょ', 'わ' => 'ゎ' ); sub jlc($){ my ($s) = @_; my $from = join '',keys %table; my $to = join '',values %table; $s = lc $s; eval "\$s =~ tr/$from/$to/"; $s; } for(@ARGV){ print encode('utf8',jlc(decode('utf8',$_))),"\n"; }