http://perl-users.jp/articles/advent-calendar/2011/test/1