In my webpage, when i click "Past or Future" button to display "previous year leave summary or future year leave summary" respectively. It gives the error
"Can't use an undefined value as a HASH reference at LeaveSum.pm line 65."
[CODE=perl]sub leave_init {
($mDBh,$mShortn ame,$mYear) = @_;
my $pToday;
my $pSql;
my ($pPrevYear,$pN extYear);
SWITCH: {
if ($mYear eq "L") {
$pToday = "today - 1 units year";
last SWITCH;
}
if ($mYear eq "T") {
$pToday = "today";
last SWITCH;
}
if ($mYear eq "N") {
$pToday = "today + 1 units year";
last SWITCH;
}
}
64: $pSql = "select $pToday date from site_table";
65: $mToday = ($mDBh->selectrow_hash ref($pSql))->{date};
if ($mToday =~ /-/) {
# date is returned in yyyy-mm-dd format so put back to dd/mm/yyyy
$mToday =~ /(\d+).(\d+).(\d +)/;
$mToday = "$3/$2/$1";
}
$mToday =~ /\d+.\d+.(\d+)/;
$mYearNo = $1;
$pPrevYear = $mYearNo -1;
$pNextYear = $mYearNo +1;
if (int_date($mTod ay) > int_date("31/03/$mYearNo")) {
@mFinDates = (
"01/04/$mYearNo", "31/03/$pNextYear",
"01/04/$pPrevYear", "31/03/$mYearNo"
);
}
else {
@mFinDates = (
"01/04/$pPrevYear", "31/03/$mYearNo",
"01/04/".eval("$pPrevY ear-1"), "31/03/$pPrevYear"
);
}
$mStart_date = "01/01/$mYearNo";
$mEnd_date = "31/12/$mYearNo";
$mPrevStart = "01/01/$pPrevYear";
$mPrevEnd = "31/12/$pPrevYear";
[/CODE]
Can any one help plzzz
"Can't use an undefined value as a HASH reference at LeaveSum.pm line 65."
[CODE=perl]sub leave_init {
($mDBh,$mShortn ame,$mYear) = @_;
my $pToday;
my $pSql;
my ($pPrevYear,$pN extYear);
SWITCH: {
if ($mYear eq "L") {
$pToday = "today - 1 units year";
last SWITCH;
}
if ($mYear eq "T") {
$pToday = "today";
last SWITCH;
}
if ($mYear eq "N") {
$pToday = "today + 1 units year";
last SWITCH;
}
}
64: $pSql = "select $pToday date from site_table";
65: $mToday = ($mDBh->selectrow_hash ref($pSql))->{date};
if ($mToday =~ /-/) {
# date is returned in yyyy-mm-dd format so put back to dd/mm/yyyy
$mToday =~ /(\d+).(\d+).(\d +)/;
$mToday = "$3/$2/$1";
}
$mToday =~ /\d+.\d+.(\d+)/;
$mYearNo = $1;
$pPrevYear = $mYearNo -1;
$pNextYear = $mYearNo +1;
if (int_date($mTod ay) > int_date("31/03/$mYearNo")) {
@mFinDates = (
"01/04/$mYearNo", "31/03/$pNextYear",
"01/04/$pPrevYear", "31/03/$mYearNo"
);
}
else {
@mFinDates = (
"01/04/$pPrevYear", "31/03/$mYearNo",
"01/04/".eval("$pPrevY ear-1"), "31/03/$pPrevYear"
);
}
$mStart_date = "01/01/$mYearNo";
$mEnd_date = "31/12/$mYearNo";
$mPrevStart = "01/01/$pPrevYear";
$mPrevEnd = "31/12/$pPrevYear";
[/CODE]
Can any one help plzzz
Comment