配列への参照の次の配列があります:
my @holidays = [[2012,'01','02'],[2012,'01','16'],[2012,'02','20'],[2012,'04','16'],[2012,'05','28'],[2012,'07','04'],[2012,'09','03'],[2012,'10','08'],[2012,'11','12'],[2012,'11','22'],[2012,'12','25']];
これは、2012年にIRSが認めた法定休日です。配列@dueDateをその配列の値と照合し、1が返されるか、存在する場合はtrueを返します。
while ($holidays[@dueDate]){
print ("Found Holiday \t join('-',@dueDate)");
@dueDate = Add_Delta_Days(@dueDate, 1);
if ( Day_of_Week(@dueDate) > 5){
@dueDate = Monday_of_Week((Week_Number(@dueDate)+1), $dueDate[0]);
}
}
私の現在の試みはこれです-whileステートメントの条件は決して真ではありません。休日の参照と逆参照のいくつかの異なる組み合わせを試しましたが、役に立ちませんでした。
@dueDateに上記の配列内の日付が含まれている場合にブロックが実行されるように、whileステートメント内の評価を操作するのが最善の方法は何でしょうか。
注:@dueDateはDate :: Calc標準配列です-(年、月、日)