The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Religion::Islam::Quran - Holy Quran book searchable database multi-lingual in utf-8 unicode format

SYNOPSIS

        #---------------------------------------------------------------
        use Religion::Islam::Quran;
        #---------------------------------------------------------------
        #create new object with default options, Arabic language
        my $quran = Religion::Islam::Quran->new();

        # or select the English Language:
        my $quran = Religion::Islam::Quran->new(Language=>'English');
        
        # you can also specifiy your own database files path:
        my $quran = Religion::Islam::Quran->new(DatabasePath => './Quran/mydatabase');
        #---------------------------------------------------------------
        #Returns the available Quran databases
        @Languages = $quran->GetLanguages();
        #---------------------------------------------------------------
        # returns all the quran surahs count.
        $surahs = $quran->SurahCount; # returns 114
        #---------------------------------------------------------------
        # returns all the quran ayats count.
        $ayats = $quran->AyahCount; # returns 6236
        #---------------------------------------------------------------
        #returns all surah ayats Quran in an array.
        @surah = $quran->Surah(1); 
        #---------------------------------------------------------------
        #returns the number of surah ayats.
        $surah_number = 1; # 1 to 114
        $surah_ayats = $quran->SurahAyahCount($surah_number);
        #---------------------------------------------------------------
        # returns the surah name using the surah number from 1 to 114.
        $surah_name = $quran->SurahName($surah_number, $optional_language);
        #---------------------------------------------------------------
        # returns Quran text of specific surah ayah.
        $ayah = $quran->Ayah($surah_number, $ayah_number);
        #---------------------------------------------------------------
        # returns Quran text of specific surah ayah range in an array .
        @ayats = $quran->Ayats($surah_number, $from_ayah, $to_ayah);
        #---------------------------------------------------------------
        # returns all the Quran text of specific surah in an array.
        @ayats = $quran->Surah($surah_number);
        #---------------------------------------------------------------
        # returns the names of each surah in the Quran sort order.
        @surahs_name = $quran->SurahsNames();
        #---------------------------------------------------------------
        # returns the ayats number for each surah in the Quran sort order.
        @surahs_ayats = $quran->SurahsAyats();
        #---------------------------------------------------------------
        # search specific Surah for specific text and returns the ayahs numbers
        @ayats = $quran->SearchSurah($surah, $findwhat);
        #---------------------------------------------------------------
        #Remove Diacritic from Arabic Text
        $TextWithoutDiacritic = $quran->RemoveDiacritic($TextWithDiacritic);
        #---------------------------------------------------------------
        #The Wajib Sajdah of the Qur'an
        #In four Surahs of the Qur'an there are ayats of sajdah that if a person reads one 
        #of these ayats, or if he hears someone else recite one of these ayats, once the 
        #ayat is finished, one must immediately go into sajdah.
        #Returns the Surah=>Ayah pairs
        %SajdahCompulsaryAyats = $quran->SajdahCompulsaryAyats();
        print $quran->IsSajdahCompulsaryAyah($surah, $ayah);
        
        #The recommended (mustahab) Sajdah of the Qur'an
        #Returns the Surah=>Ayah pairs
        %SajdahRecommendedAyats = $quran->SajdahRecommendedAyats();
        print  $quran->IsSajdahRecommendedAyah($surah, $ayah);
        
        #Surah Number Order of Revelation
        #Returns surah number=>order of revelation pairs
        %OrderOfRevelation = $quran->OrderOfRevelation();
        print "Surah Order Of Revelation: " . $quran->SurahOrderOfRevelation($surah);
        
        #Where each surah revealed, Mekkah or Medianh
        #Return 1 for Medinah and 0 for Mekkah
        print $quran->SurahRevelation($surah);

DESCRIPTION

This module contains the full Holy Quran Book database searchable and provides many methods for retriving whole quran, specific surahs, or specific ayats and information about Quran and each surah in different languages and transliterations. Quran database files are simply text files pipe separated each line is formated as:

<SurahNumber>|<AyahNumber>|<AyahText><CRLF>

Example of Arabic database file first Surah QuranArabic.txt:

        1|1|بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيمِ
        1|2|الْحَمْدُ للّهِ رَبِّ الْعَالَمِينَ
        1|3|الرَّحْمنِ الرَّحِيمِ
        1|4|مَلِكِ يَوْمِ الدِّينِ
        1|5|إِيَّاكَ نَعْبُدُ وإِيَّاكَ نَسْتَعِينُ
        1|6|اهدِنَا الصِّرَاطَ المُستَقِيمَ
        1|7|صِرَاطَ الَّذِينَ أَنعَمتَ عَلَيهِمْ غَيرِ المَغضُوبِ عَلَيهِمْ وَلاَ الضَّالِّينَ

and the 112th Surah in QuranEnglish.txt:

        112|1|Say: He is Allah, the One and Only; 
        112|2|Allah, the Eternal, Absolute; 
        112|3|He begetteth not, nor is He begotten; 
        112|4|And there is none like unto Him. 

Database text files located in the module directory /Religion/Islam/Quran. Default module comes with the Quran Arabic and some other translations. You can download more quran translations and transliterations from www.islamware.com.

Languages and databases included with the module are:

        Albanian
        Arabic
        Azerbaijani
        Chinese
        Dutch
        English
        EnglishUS
        Finnish
        French
        German
        Harun
        Indonesian
        Italian
        Japanese
        Latin
        Malaysian
        Mexican
        Persian
        Poland
        Portuguese
        Russian
        Spanish
        Swahili
        Tamil
        Thai
        Turkish

        EnglishTransliteration

Surah names are only available in English and Arabic languages.

Methods

SEE ALSO

Date::HijriDate Religion::Islam::Qibla Religion::Islam::PrayTime Religion::Islam::PrayerTimes

AUTHOR

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

COPYRIGHT AND LICENSE

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

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