in reply to DBI oracle

I suspect the place holder syntax you're using is incorrect.

You need to use place holders of the form ":<whatever>"

        ### Prepare weeks in month cursor
        $weeks_in_mth_sth = 
            $dbh->prepare( qq {
           SELECT  count(*)
             FROM  year_month_weeks
             WHERE year_no = :year
               AND month_no = :month
                          }

Then you need to 'bind' the place holders to an actual variable as below :

    $weeks_in_mth_sth->bind_param(':year', $p_year);
    $weeks_in_mth_sth->bind_param(':month', $p_month);

Then you should be able to execute your query :

    $weeks_in_mth_sth->execute
        or die "Can't execute SQL statement: $DBI::errstr Stopped\n";

Good luck !