#!/usr/bin/perl -w
# 把所有 "星期幾" 與 "幾月" 的英文全部改成中文.
# 要處理星期與月份名稱, 本範例不是最好的方法. 詳見 perldoc POSIX
# http://www.cyut.edu.tw/~ckhung/b/pl/

use strict;
my (
    %weekday,				# "星期幾" 轉數字對照表
    %month,				# "月份" 轉數字對照表
    $i,
    $key
);

%weekday = (
    "Mon" => '一', "Tue" => '二', "Wed" => '三', "Thu" => '四',
    "Fri" => '五', "Sat" => '六', "Sun" => '日'
);

%month = (
    "Jan" => '一', "Feb" => '二', "Mar" => '三', "Apr" => '四',
    "May" => '五', "Jun" => '六', "Jul" => '七', "Aug" => '八',
    "Sep" => '九', "Oct" => '十', "Nov" => '十一', "Dec" => '十二'
);

while (<STDIN>) {
    foreach $key (keys %weekday) {
	$_ =~ s/\b$key\b/星期$weekday{$key}/ig;
    }
    foreach $key (keys %month) {
	$_ =~ s/\b$key\b/$month{$key}月/ig;
    }
					# \b 表示 boundary, 避免代換到
					# 一長串英文字當中的 $key.

    print $_;				# 不必加 \n, 因為先前沒有 chomp
}

