18歳以上の生年月日チェック
splitのほうが速度的によさそうなので変更。(これくらいじゃ大差ないけど)
sub static_birthday { my $date = shift; my $args = shift; # この年齢以上じゃないと登録できない。 my $over = $args->{over} || 18; return 0 unless &static_date( $date ); my $birthday_date = sprintf("%04d%02d%02d", split( /-/, $date ) ); my $orz_date = sprintf("%04d%02d%02d", Add_Delta_YM( Today, -$over , 0 ) ); ( $orz_date >= $birthday_date ) ? 1 : 0; } sub static_date { my $date = shift; if ( my ( $y, $m, $d ) = ( $date =~ /^(\d+)-(\d+)-(\d+)$/ ) ) { return check_date( $y, $m, $d ); } else { return 0; } }