• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:なぜか祝日判定がうまくいきません)

なぜか祝日判定がうまくいきません

このQ&Aのポイント
  • Calendar::Japanese::Holiday を利用して祝日判定のルーチンをテストしていますが、正常動作しません。
  • isHolidayルーチンの方に値が正常に渡っていないのかと考え、チェック用のソースを組み入れてみましたが、値は正常に渡っています。
  • どのようにすれば正常動作するようになるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

my $jpholiday = isHoliday($spdate->{year}+0,$spdate->{month}+0,$spdate->{day}+0); か?

perlerz10
質問者

お礼

これでOKでした。2012, 05, 05のまま渡しても正常に動作する様になりました。 ありがとうございました。

その他の回答 (3)

  • kuroizell
  • ベストアンサー率55% (95/170)
回答No.4

なるほど、数値じゃなくて文字列が渡っているからアウトなんですね。 たぶん動く↓ # 全角スペース注意 my $spdate = {   year => $q->param('year') + 0,   month => $q->param('month') + 0,   day  => $q->param('day')  + 0 };

perlerz10
質問者

お礼

ありがとうございます。この段階での処理でも2012, 05, 05のまま渡しても正常に動作しました。

  • kuroizell
  • ベストアンサー率55% (95/170)
回答No.2

もしかして : chomp

perlerz10
質問者

お礼

chompは改行コードの削除ということでこの場合はあてはまりませんでしたが、私も最初にこれを疑いました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

sub &check_date はおかしくないか? さておき, 最初の 「すでに$y、$m、$dにはそれぞれ2012、05、05と値が入っています。」 のところ, どうやって値を入れたんでしょうか? また, 入っている値が 2012, 05, 05 ではなく 2012, 5, 5 だったらどうなりますか?

perlerz10
質問者

補足

>sub &check_date これはこの質問記載中ののみの誤記載で実際には「sub check_date」となっています。紛らわしくて申し訳ないです。 $y、$m、$dにはプルダウンHTMLからの入力です。他の箇所との絡みで1~9の数字は05のようにあたまに0をつけた2けた数値でやり取りしています。 $y、$m、$dの数値を2012, 5, 5としたら正常に動作しました。

関連するQ&A