in reply to ultimate date check regexp

Date::Calc::check_date is C,
boolean DateCalc_check_date(Z_int year, Z_int month, Z_int day) { if ((year >= 1) and (month >= 1) and (month <= 12) and (day >= 1) and (day <= DateCalc_Days_in_Month_[DateCalc_leap_year(year)][mont +h])) return(true); return(false); }
and it basicly uses:
boolean DateCalc_leap_year(Z_int year) { Z_int yy; return( ((year AND 0x03) == 0) and ( (((yy = (Z_int) (year / 100)) * 100) != year) or ((yy AND 0x03) == 0) ) ); } const Z_int DateCalc_Days_in_Year_[2][14] = { { 0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 }, { 0, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 } }; const Z_int DateCalc_Days_in_Month_[2][13] = { { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } };
how to use (rewrite) it in perl

Replies are listed 'Best First'.
Re^2: ultimate date check regexp
by davorg (Chancellor) on Oct 30, 2006 at 09:55 UTC

    If you install the Date::Calc module correctly, then the C portions will be compiled, installed and linked to the Perl code in Date/Calc.pm. You'll then be able to call it from your Perl code by following the examples in the documentation. The fact that it's written in C won't effect you at all.

    Maybe it's worth pointing out that my solution works with a standard Perl installation.

    --
    <http://dave.org.uk>

    "The first rule of Perl club is you do not talk about Perl club."
    -- Chip Salzenberg