Couple of comments:

First, I'm not sure your code computes the 45-th business day from the current day. Instead, I think it computes the business day which is 45 calendar days from the current day.

It is clear that from your script that it would be helpful to encapsulate your business date logic into a module. One option is Date::Business which will do what you want with the nextb() method. Actually, I would recommend implementing this in the database itself with a "business day" table. The schema would look something like this:

CREATE TABLE BUSINESS_DAY ( BUSINESS_DAY_ORDINAL INT PRIMARY KEY, CALENDAR_DAY DATE ); CREATE TABLE CALENDAR_DAY ( CALENDAR_DAY DATE PRIMARY KEY, BUSINESS_DAY_ORDINAL INT, NEXT_BUSINESS_DAY_ORDINAL INT );

BUSINESS_DAY_ORDINAL gives the business day on or before the specified calendar day and NEXT_BUSINESS_DAY_ORDINAL gives the first business day after the specified calendar day. The advantage of doing this is that you can calculate with business days in your SQL rather than relying on a perl script. Additionally, you can implement irregular rules for business days such as holidays. Of course, you can use a perl script to initially populate these tables.


In reply to Re: Nested Statement by pc88mxer
in thread Nested Statement by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.