Arguments:
   yg, mg, dg : Date in Greg
   param[0]				: Safety time  in hours should be 0.016383h
   longtud,latud		: param[1],[2] : The place longtude and latitude in radians
   HeightdifW			: param[3]: The place western herizon height difference in meters
   HeightdifE			: param[4]: The place eastern herizon height difference in meters
   Zonh						:param[5]: The place zone time dif. from GMT  West neg and East pos in decimal hours
  fjrangl					: param[6]: The angle (radian) used to compute Fajer prayer time (OmAlqrah  -19 deg.)
  ashangl					: param[7]: The angle (radian) used to compute Isha  prayer time
								  ashangl=0 then use  (OmAlqrah: ash=SunSet+1.5h)
  asr							: param[8]: The Henfy (asr=2) Shafi (asr=1, Omalqrah asr=1)
  param[9]				: latude (radian) that should be used for places above -+65.5 should be 45deg as suggested by Rabita
  param[10]				: The Isha fixed time from Sunset

  Output:
  lst[]...lst[n], 
	1:	 Fajer 
	2:	 Sunrise
	3:	 Zohar
	4:	 Aser
	5:	 Magreb
	6:	 Isha
	7:	 Fajer using exact Rabita method for places >48
	8:	 Ash   using exact Rabita method for places >48
	9: Eid Prayer Time
          for places above 48 lst[1] and lst[6] use a modified version of
          Rabita method that tries to eliminate the discontinuity
         all in 24 decimal hours

returns flag :0 if there are problems, flag:1 no problems

NAME

Religion::Islam::PrayerTimes - Calculates Muslim Prayers Times and Sunrise

SYNOPSIS

use Religion::Islam::PrayerTimes;

#create new object with default options
my $prayer = Religion::Islam::PrayerTimes->new();

#Juristic Methods:
# 1 = Standard (Imams Shafii, Hanbali, and Maliki),
#2  = Hanafi
#The difference is in the Aser time only
$prayer->JuristicMethod(1);

# Calculation Method 
#1:	Umm Al-Qura Committee
#2:	Muslim World League
#3:	Egyptian General Authority of Survey
#4:	University Of Islamic Sciences, Karachi
#5:	ISNA, Islamic Society of North America
$prayer->CalculationMethod(3);

# Q. What is daylight saving? Ans. Many countries try to adopt their work time by subtracting
# from their clocks one hour in the Fall and Winter seasons. 
$prayer->DaylightSaving(1);
#print "DaylightSaving: ". $prayer->DaylightSaving() ."\n";

# set the location to clculate prayer times for.
# for Cairo, Egypt:
# http://heavens-above.com/countries.asp
$prayer->PrayerLocation(
								Latitude => 30.050,
								Longitude => 31.250,
								Altitude => 24,
								TimeZone => 2
							);

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$mon++; 	$year += 1900;

#Adjust the Gregorian Dates by making sure that the month lengths  
#are correct if not so take the extra days to next month or year.
my ($yg0, $mg0, $dg0) = $prayer->GDateAjust($year, $mon, $mday);
# Now calculate the prayer times. Times returns in hours decimal format

#%result = $prayer->PrayerTimes($year, $mon, $mday);
%result = $prayer->PrayerTimes($yg0, $mg0, $dg0);

#print "Fajr: " . $result{Fajr} . "\n";
#print "Sunrise: " . $result{Sunrise} . "\n";
#print "Zohar: " . $result{Zohar} . "\n";
#print "Aser: " . $result{Aser} . "\n";
#print "Maghrib: " . $result{Maghrib} . "\n";
#print "Isha: " . $result{Isha} . "\n";
#print "Fajir Rabita: " . $result{FajirRabita} . "\n";	 #Fajer using exact Rabita method for places >48
#print "Isha Rabita: " . $result{IshaRabita} . "\n";	#Ash using exact Rabita method for places >48
#print "Eid Prayer Time: " . $result{Eid} . "\n";	 #Eid Prayer Time
#print "\n";

# set time mode for 12 or 24 hour for FormatTime function.
$prayer->TimeMode(1);
#print time formated
#print "TimeMode: "  . $prayer->TimeMode() ."\n";

my ($h, $m, $ap);

($h, $m, $ap) = $prayer->FormatTime($result{Fajr});
print "Fajr: $h:$m $ap\n";

($h, $m, $ap) = $prayer->FormatTime($result{Sunrise});
print "Sunrise: $h:$m $ap\n";

($h, $m, $ap) = $prayer->FormatTime($result{Zohar});
print "Zohar: $h:$m $ap\n";

($h, $m, $ap) = $prayer->FormatTime($result{Aser});
print "Aser: $h:$m $ap\n";

($h, $m, $ap) = $prayer->FormatTime($result{Maghrib});
print "Maghrib: $h:$m $ap\n";

($h, $m, $ap) = $prayer->FormatTime($result{Isha});
print "Isha: $h:$m $ap\n";

#($h, $m, $ap) = $prayer->FormatTime($result{FajirRabita});
#print "Fajir Rabita: $h:$m $ap\n";	 #Fajer using exact Rabita method for places >48

#($h, $m, $ap) = $prayer->FormatTime($result{IshaRabita});
#print "Isha Rabita: $h:$m $ap\n";	#Ash using exact Rabita method for places >48

#($h, $m, $ap) = $prayer->FormatTime($result{Eid});
#print "Eid Prayer Time: $h:$m $ap\n";	 #Eid Prayer Time

DESCRIPTION

This module calculates Musilm prayers times and sunrise for any location on the earth.

SEE ALSO

Religion::Islam::Qibla Religion::Islam::Quran

AUTHOR

Ahmed Amin Elsheshtawy, <support@islamware.com<gt> Website: http://www.islamware.com

COPYRIGHT AND LICENSE

Copyright (C) 2006 by Ahmed Amin Elsheshtawy support@islamware.com, http://www.islamware.com

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

16 POD Errors

The following errors were encountered while parsing the POD:

Around line 617:

Unknown directive: =PrayerTimes

Around line 1083:

Unknown directive: =BH2GA

Around line 1114:

Unknown directive: =HCalendarToJDA

Around line 1146:

Unknown directive: =HMonthLength

Around line 1180:

Unknown directive: =DayInYear

Around line 1217:

Unknown directive: =HYearLength

Around line 1255:

Unknown directive: =G2HA

Around line 1309:

Unknown directive: =H2GA

Around line 1352:

Unknown directive: =JDToGCalendar

Around line 1395:

Unknown directive: =GCalendarToJD

Around line 1428:

Unknown directive: =GLeapYear

Around line 1451:

Unknown directive: =GDateAjust

Around line 1522:

Unknown directive: =DayWeek

Around line 1538:

Unknown directive: =HCalendarToJD

Around line 1559:

Unknown directive: =JDToHCalendar

Around line 1585:

Unknown directive: =JDToHACalendar