end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

perlで休日判定なら Calendar::Japanese::Holiday がよさそ

Calendar::Japanese::Holiday - search.cpan.org

#!/usr/local/bin/perl
use strict;
use Calendar::Japanese::Holiday;
use Encode;
use Data::Dumper;

main();

sub main {
    my @dates = ([2012,11,3],	#sat 文化の日
		 [2012,12,23],	#sun 天皇誕生日
		 [2012,12,24],	#mon 天皇誕生日の振替休日
		 [2013, 1, 1],	#tue 元旦
		 [2013, 1,14]	#mon 成人の日
		);
    for my $date (@dates){
	print sprintf("%04d-%02d-%02d",@$date),' ->  ';
	print encode('utf8', isHoliday(@$date,1)),"\n";
    }
}

↑と書いて、実行すると↓

[endo@colinux tmp]$ ./foo.pl 
2012-11-03 ->  文化の日
2012-12-23 ->  天皇誕生日
2012-12-24 ->  振替
2013-01-01 ->  元日
2013-01-14 ->  成人の日