use Cal;

$event = Cal::Event->new();
$event->SetCriterion('$date->GetAbsolute()%7 == 6 ? "Shabbat" : "" ');
push @events, $event;

$event = Cal::Event->new();
$event->SetCriterion('$date->GetHebrew()%29 == 1 ? "Rosh Chodesh" : ""');
push @events, $event;

$day = Cal->new();
$day->SetGregorian(1997, 11, 15);
do
{
  print join(".", $day->GetGregorian()), "\t",
	join(".", $day->GetHebrew()),    "\t",
	$day->GetDafYomi(),		 "\t";
  foreach (@events) { $ev = $_->IsDayEvent($day); print "$ev " if $ev;}
  print "\n";
  $day->SetAbsolute($day->GetAbsolute() + 1);
}
while (($day->GetGregorian())[0] < 1998);

exit;

$today = Cal->new();
$today->SetGregorian(1997, 6, 10);
print "Today's date is ", join(".", $today->GetGregorian()), "\n";
($hebyear, $hebmon, $hebday) = $today->GetHebrew;
print "In Hebrew it's $hebday ", $Cal::HebrewMonthNames[$hebmon],
      "$, $hebyear\n";

$today->SetGregorian(1997, 4, 1);
print "Today's date is ", join(".", $today->GetGregorian()), "\n";
($hebyear, $hebmon, $hebday) = $today->GetHebrew;
print "In Hebrew it's $hebday ", $Cal::HebrewMonthNames[$hebmon],
      "$, $hebyear\n";

$today->SetGregorian(1969, 3, 11);
print "Today's date is ", join(".", $today->GetGregorian()), "\n";
($hebyear, $hebmon, $hebday) = $today->GetHebrew;
print "In Hebrew it's $hebday ", $Cal::HebrewMonthNames[$hebmon],
      "$, $hebyear\n";

$rh = Cal->new();
$rh->SetAbsolute(Cal::RoshHashannah(5758));
print "Rosh Hashanna 5758 is ", join(".", $rh->GetGregorian()), "\n";
print "In Hebrew it's ", join(".", $rh->GetHebrew()), "\n";

#exit;

$today = Cal->new();
$today->SetGregorian(1997, 3, 1);
print "3/1/97 is ", join(".", $today->GetGregorian()), " (",
  $today->{date}, ")\n";


print Cal->new()->SetGregorian(1997,3, 1)->{date} - 
      Cal->new()->SetGregorian(1997,2,28)->{date}, " <-- s/b 1\n";

for ($y=4; $y<2000; $y+=111)
{
for ($i=1; $i<12; $i++)
{
  $day = Cal->new();
  @Greg = ($y, $i, 29);
  $day->SetGregorian(@Greg);
  @out = $day->GetGregorian();
  print "@Greg gives @out\n" if "@Greg" ne "@out";
}
}
