PERL(1perl) دليل مرجع مبرمجي بيرل PERL(1perl)

الاسم

بيرل - مفسر لغة بيرل 5

موجز

perl-sTtuUWX ]
-hv ] [ -V[:متغير_الضبط] ]
-cw ] [ -d[t][:منقح] ] [ -D[رقم/قائمة] ]
-pna ] [ -Fنمط ] [ -l[ثماني] ] [ -0[ثماني/ست عشري] ]
-Iدليل ] [ -m[-]وحدة ] [ -M[-]'وحدة...' ] [ -f ]
-C [رقم/قائمة]
-S ]
-x[دليل] ]
-i[امتداد] ]
[ [-e|-E'أمر' ] [ -- ] [ ملف_البرنامج ] [ معامل ]...

لمزيد من المعلومات حول هذه الخيارات، يمكنك تشغيل "perldoc perlrun".

الحصول على المساعدة

يمنحك برنامج perldoc الوصول إلى جميع التوثيقات التي تأتي مع بيرل. يمكنك الحصول على المزيد من التوثيقات والدروس ودعم المجتمع عبر الإنترنت على https://www.perl.org/.

إذا كنت جديداً على بيرل، فيجب أن تبدأ بتشغيل "perldoc perlintro"، وهو مقدمة عامة للمبتدئين وتوفر بعض الخلفية لمساعدتك في التنقل في بقية وثائق بيرل الواسعة. شغّل "perldoc perldoc" لتتعلم المزيد من الأشياء التي يمكنك فعلها باستخدام perldoc.

لسهولة الوصول، جُزئ دليل بيرل إلى عدة أقسام.

نظرة عامة

perl                نظرة عامة على بيرل (هذا القسم)
perlintro           مقدمة بيرل للمبتدئين
perlrun             تنفيذ بيرل وخياراته
perltoc             جدول محتويات توثيق بيرل

دروس تعليمية

perlreftut          مقدمة قصيرة عن مراجع بيرل
perldsc             مقدمة عن هياكل بيانات بيرل
perllol             هياكل بيانات بيرل: مصفوفات من المصفوفات
perlrequick         بداية سريعة للتعبيرات النمطية في بيرل
perlretut           درس تعليمي عن التعبيرات النمطية في بيرل
perlootut           درس تعليمي عن البرمجة كائنية التوجه في بيرل للمبتدئين
perlperf            تقنيات تحسين الأداء في بيرل
perlstyle           دليل أسلوب بيرل
perlcheat           ورقة غش بيرل
perltrap            فخاخ بيرل لغير الحذرين
perldebtut          درس تعليمي عن تنقيح بيرل
perlfaq             الأسئلة الشائعة حول بيرل
  perlfaq1          أسئلة عامة حول بيرل
  perlfaq2          الحصول على بيرل وتعلمه
  perlfaq3          أدوات البرمجة
  perlfaq4          معالجة البيانات
  perlfaq5          الملفات والتنسيقات
  perlfaq6          التعبيرات النمطية
  perlfaq7          قضايا لغة بيرل
  perlfaq8          التفاعل مع النظام
  perlfaq9          الشبكات

دليل مرجعي

perlsyn             بنية بيرل: التصريحات، والعبارات، والتعليقات
perldata            هياكل بيانات بيرل
perlop              تعبيرات بيرل: المعاملات، والأسبقية، وسلاسل النصوص الحرفية
perlsub             برامج بيرل الفرعية
perlfunc            وظائف بيرل المضمنة
  perlopentut       درس تعليمي عن ()open في بيرل
  perlpacktut       درس تعليمي عن ()pack و ()unpack في بيرل
perlpod             توثيق بيرل القديم البسيط (POD)
perlpodspec         مواصفات تنسيق توثيق بيرل القديم البسيط
perldocstyle        دليل أسلوب بيرل للتوثيقات الأساسية
perlpodstyle        دليل أسلوب بيرل لـ POD
perldiag            رسائل بيرل التشخيصية
perldeprecation     الميزات المهجورة في بيرل
perllexwarn         تحذيرات بيرل والتحكم فيها
perldebug           تنقيح بيرل
perlvar             متغيرات بيرل المحددة مسبقًا
perlre              التعبيرات النمطية في بيرل، بقية القصة
perlrebackslash     تتابعات الخط المائل العكسي في تعبيرات بيرل النمطية
perlrecharclass     أصناف المحارف في تعبيرات بيرل النمطية
perlreref           مرجع سريع للتعبيرات النمطية في بيرل
perlref             مراجع بيرل، بقية القصة
perlform            تنسيقات بيرل
perlobj             كائنات بيرل
perltie             كائنات بيرل المخفية خلف متغيرات بسيطة
  perldbmfilter     مرشحات DBM في بيرل
perlclass           بنية الفئات في بيرل
perlipc             التواصل بين العمليات في بيرل
perlfork            معلومات عن ()fork في بيرل
perlnumber          دلالات الأرقام في بيرل
perlthrtut          درس تعليمي عن الخيوط (threads) في بيرل
perlport            دليل قابلية نقل بيرل
perllocale          دعم المحلية في بيرل
perluniintro        مقدمة يونيكود في بيرل
perlunicode         دعم يونيكود في بيرل
perlunicook         كتاب طبخ يونيكود في بيرل
perlunifaq          الأسئلة الشائعة حول يونيكود في بيرل
perluniprops        فهرس خصائص يونيكود في بيرل
perlunitut          درس تعليمي عن يونيكود في بيرل
perlebcdic          اعتبارات تشغيل بيرل على منصات EBCDIC
perlsec             أمن بيرل
perlsecpolicy       سياسة التعامل مع تقارير أمن بيرل
perlmod             وحدات بيرل: كيف تعمل
perlmodlib          وحدات بيرل: كيفية الكتابة والاستخدام
perlmodstyle        وحدات بيرل: كيفية كتابة الوحدات بأسلوب
perlmodinstall      وحدات بيرل: كيفية التثبيت من CPAN
perlnewmod          وحدات بيرل: تحضير وحدة جديدة للتوزيع
perlpragma          وحدات بيرل: كتابة برغما مستخدم
perlutil            أدوات مساعدة مرفقة مع توزيعة بيرل
perlfilter          مرشحات مصدر بيرل
perldtrace          دعم بيرل لـ DTrace
perlglossary        مسرد مصطلحات بيرل

واجهة الأحشاء الداخلية ولغة C

perlembed           طرق بيرل لتضمين بيرل في تطبيق C أو C++ الخاص بك
perldebguts         أحشاء تنقيح بيرل وتلميحات عنه
perlxstut           درس بيرل XS التعليمي
perlxs              واجهة برمجة تطبيقات بيرل XS
perlxstypemap       أدوات تحويل الأنواع بين C وبيرل في XS
perlclib            التفاعل مع وظائف مكتبة C القياسية
perlguts            وظائف بيرل الداخلية لمن يقومون بعمل ملحقات
perlcall            اتفاقيات استدعاء بيرل من C
perlmroapi          واجهة ملحق حل وسيلة بيرل
perlreapi           واجهة ملحق التعبيرات النمطية في بيرل
perlreguts          أحشاء محرك التعبيرات النمطية في بيرل
perlclassguts       أحشاء بنية الفئات (class)
perlapi             سرد واجهة برمجة تطبيقات بيرل (مُولد آليًا)
perlintern          وظائف بيرل الداخلية (مُولدة آليًا)
perliol             واجهة C لتنفيذ بيرل للإدخال والإخراج في طبقات
perlapio            واجهة تجريد الإدخال والإخراج الداخلية في بيرل
perlhack            دليل مخترقي بيرل
perlsource          دليل لشجرة مصدر بيرل
perlinterp          نظرة عامة على مصدر مفسر بيرل وكيفية عمله
perlhacktut         جولة في إنشاء رقعة بسيطة لكود C
perlhacktips        تلميحات لاختراق كود C الخاص بنواة بيرل
perlpolicy          سياسات تطوير بيرل
perlgov             قواعد حوكمة بيرل
perlgit             استخدام git مع مستودع بيرل

السجل

perlhist            سجلات تاريخ بيرل
perldelta           تغييرات بيرل منذ الإصدار السابق
perl5421delta       تغييرات بيرل في الإصدار 5.42.1
perl5420delta       تغييرات بيرل في الإصدار 5.42.0
perl5403delta       تغييرات بيرل في الإصدار 5.40.3
perl5402delta       تغييرات بيرل في الإصدار 5.40.2
perl5401delta       تغييرات بيرل في الإصدار 5.40.1
perl5400delta       تغييرات بيرل في الإصدار 5.40.0
perl5385delta       تغييرات بيرل في الإصدار 5.38.5
perl5384delta       تغييرات بيرل في الإصدار 5.38.4
perl5383delta       تغييرات بيرل في الإصدار 5.38.3
perl5382delta       تغييرات بيرل في الإصدار 5.38.2
perl5381delta       تغييرات بيرل في الإصدار 5.38.1
perl5380delta       تغييرات بيرل في الإصدار 5.38.0
perl5363delta       تغييرات بيرل في الإصدار 5.36.3
perl5362delta       تغييرات بيرل في الإصدار 5.36.2
perl5361delta       تغييرات بيرل في الإصدار 5.36.1
perl5360delta       تغييرات بيرل في الإصدار 5.36.0
perl5343delta       تغييرات بيرل في الإصدار 5.34.3
perl5342delta       تغييرات بيرل في الإصدار 5.34.2
perl5341delta       تغييرات بيرل في الإصدار 5.34.1
perl5340delta       تغييرات بيرل في الإصدار 5.34.0
perl5321delta       تغييرات بيرل في الإصدار 5.32.1
perl5320delta       تغييرات بيرل في الإصدار 5.32.0
perl5303delta       تغييرات بيرل في الإصدار 5.30.3
perl5302delta       تغييرات بيرل في الإصدار 5.30.2
perl5301delta       تغييرات بيرل في الإصدار 5.30.1
perl5300delta       تغييرات بيرل في الإصدار 5.30.0
perl5283delta       تغييرات بيرل في الإصدار 5.28.3
perl5282delta       تغييرات بيرل في الإصدار 5.28.2
perl5281delta       تغييرات بيرل في الإصدار 5.28.1
perl5280delta       تغييرات بيرل في الإصدار 5.28.0
perl5263delta       تغييرات بيرل في الإصدار 5.26.3
perl5262delta       تغييرات بيرل في الإصدار 5.26.2
perl5261delta       تغييرات بيرل في الإصدار 5.26.1
perl5260delta       تغييرات بيرل في الإصدار 5.26.0
perl5244delta       تغييرات بيرل في الإصدار 5.24.4
perl5243delta       تغييرات بيرل في الإصدار 5.24.3
perl5242delta       تغييرات بيرل في الإصدار 5.24.2
perl5241delta       تغييرات بيرل في الإصدار 5.24.1
perl5240delta       تغييرات بيرل في الإصدار 5.24.0
perl5224delta       تغييرات بيرل في الإصدار 5.22.4
perl5223delta       تغييرات بيرل في الإصدار 5.22.3
perl5222delta       تغييرات بيرل في الإصدار 5.22.2
perl5221delta       تغييرات بيرل في الإصدار 5.22.1
perl5220delta       تغييرات بيرل في الإصدار 5.22.0
perl5203delta       تغييرات بيرل في الإصدار 5.20.3
perl5202delta       تغييرات بيرل في الإصدار 5.20.2
perl5201delta       تغييرات بيرل في الإصدار 5.20.1
perl5200delta       تغييرات بيرل في الإصدار 5.20.0
perl5184delta       تغييرات بيرل في الإصدار 5.18.4
perl5182delta       تغييرات بيرل في الإصدار 5.18.2
perl5181delta       تغييرات بيرل في الإصدار 5.18.1
perl5180delta       تغييرات بيرل في الإصدار 5.18.0
perl5163delta       تغييرات بيرل في الإصدار 5.16.3
perl5162delta       تغييرات بيرل في الإصدار 5.16.2
perl5161delta       تغييرات بيرل في الإصدار 5.16.1
perl5160delta       تغييرات بيرل في الإصدار 5.16.0
perl5144delta       تغييرات بيرل في الإصدار 5.14.4
perl5143delta       تغييرات بيرل في الإصدار 5.14.3
perl5142delta       تغييرات بيرل في الإصدار 5.14.2
perl5141delta       تغييرات بيرل في الإصدار 5.14.1
perl5140delta       تغييرات بيرل في الإصدار 5.14.0
perl5125delta       تغييرات بيرل في الإصدار 5.12.5
perl5124delta       تغييرات بيرل في الإصدار 5.12.4
perl5123delta       تغييرات بيرل في الإصدار 5.12.3
perl5122delta       تغييرات بيرل في الإصدار 5.12.2
perl5121delta       تغييرات بيرل في الإصدار 5.12.1
perl5120delta       تغييرات بيرل في الإصدار 5.12.0
perl5101delta       تغييرات بيرل في الإصدار 5.10.1
perl5100delta       تغييرات بيرل في الإصدار 5.10.0
perl589delta        تغييرات بيرل في الإصدار 5.8.9
perl588delta        تغييرات بيرل في الإصدار 5.8.8
perl587delta        تغييرات بيرل في الإصدار 5.8.7
perl586delta        تغييرات بيرل في الإصدار 5.8.6
perl585delta        تغييرات بيرل في الإصدار 5.8.5
perl584delta        تغييرات بيرل في الإصدار 5.8.4
perl583delta        تغييرات بيرل في الإصدار 5.8.3
perl582delta        تغييرات بيرل في الإصدار 5.8.2
perl581delta        تغييرات بيرل في الإصدار 5.8.1
perl58delta         تغييرات بيرل في الإصدار 5.8.0
perl561delta        تغييرات بيرل في الإصدار 5.6.1
perl56delta         تغييرات بيرل في الإصدار 5.6
perl5005delta       تغييرات بيرل في الإصدار 5.005
perl5004delta       تغييرات بيرل في الإصدار 5.004

متفرقات

perlbook            معلومات عن كتب بيرل
perlcommunity       معلومات عن مجتمع بيرل
perldoc             ابحث عن توثيق بيرل بتنسيق Pod
perlexperiment      سرد للميزات التجريبية في بيرل
perlartistic        رخصة بيرل الفنية
perlgpl             رخصة جنو العمومية

خاص باللغة

perlcn              بيرل للصينية المبسطة (بترميز UTF-8)
perljp              بيرل لليابانية (بترميز EUC-JP)
perlko              بيرل للكورية (بترميز EUC-KR)
perltw              بيرل للصينية التقليدية (بترميز Big5)

خاص بالمنصة

perlaix             ملاحظات بيرل لنظام AIX
perlamiga           ملاحظات بيرل لنظام AmigaOS
perlandroid         ملاحظات بيرل لنظام أندرويد
perlbs2000          ملاحظات بيرل لنظام POSIX-BC BS2000
perlcygwin          ملاحظات بيرل لنظام Cygwin
perlfreebsd         ملاحظات بيرل لنظام FreeBSD
perlhaiku           ملاحظات بيرل لنظام Haiku
perlhpux            ملاحظات بيرل لنظام HP-UX
perlhurd            ملاحظات بيرل لنظام Hurd
perlirix            ملاحظات بيرل لنظام Irix
perllinux           ملاحظات بيرل لنظام لينكس
perlmacosx          ملاحظات بيرل لنظام Mac OS X
perlopenbsd         ملاحظات بيرل لنظام OpenBSD
perlos2             ملاحظات بيرل لنظام OS/2
perlos390           ملاحظات بيرل لنظام OS/390
perlos400           ملاحظات بيرل لنظام OS/400
perlplan9           ملاحظات بيرل لنظام Plan 9
perlqnx             ملاحظات بيرل لنظام QNX
perlriscos          ملاحظات بيرل لنظام RISC OS
perlsolaris         ملاحظات بيرل لنظام سولاريس
perlsynology        ملاحظات بيرل لنظام Synology
perltru64           ملاحظات بيرل لنظام Tru64
perlvms             ملاحظات بيرل لنظام VMS
perlvos             ملاحظات بيرل لنظام Stratus VOS
perlwin32           ملاحظات بيرل لنظام ويندوز

نوابت (Stubs) للمستندات المحذوفة

perlboot
perlbot
perlrepository
perltodo
perltooc
perltoot

في الأنظمة الشبيهة بيونكس، تكون ملفات التوثيق هذه عادةً متاحة أيضًا كصفحات دليل (manpages) للاستخدام مع برنامج man.

بعض الوثائق غير متوفرة كصفحات دليل (man pages)، لذا إذا لم يجد man مرجعاً متبادلاً، جربه باستخدام perldoc. يمكن لـ perldoc أيضًا أن يأخذك مباشرة إلى وثائق الدوال (باستخدام المفتاح -f). انظر "perldoc --help" (أو "perldoc perldoc" أو "man perldoc") لمعرفة الخيارات المفيدة الأخرى التي يقدمها perldoc.

بشكل عام، إذا حدث خطأ غريب في برنامجك ولم تكن متأكداً من أين تبحث عن المساعدة، فحاول جعل الكود الخاص بك متوافقاً مع use strict و use warnings. غالباً ما يشير هذان الأمران إلى مكان المشكلة بالضبط.

الوصف

يرمز بيرل رسمياً إلى Practical Extraction and Report Language، إلا عندما لا يكون كذلك.

كان بيرل في الأصل لغة مُحسنة لمسح الملفات النصية العشوائية، واستخراج المعلومات من تلك الملفات النصية، وطباعة التقارير بناءً على تلك المعلومات. وسرعان ما أصبح لغة جيدة للعديد من مهام إدارة النظام. وعلى مر السنين، نما بيرل ليصبح لغة برمجة عامة الغرض. ويُستخدم على نطاق واسع في كل شيء من "الأسطر الواحدة" السريعة إلى تطوير التطبيقات واسعة النطاق.

هذه اللغة مخصصة لتكون عملية (سهلة الاستخدام، وفعالة، وكاملة) بدلاً من أن تكون جميلة (صغيرة، وأنيقة، وبسيطة). فهي تجمع (في رأي المؤلف، على أي حال) بعض أفضل ميزات sed، و awk، و sh، مما يجعلها مألوفة وسهلة الاستخدام لمستخدمي يونكس لابتكار حلول سريعة للمشاكل المزعجة. تدعم مرافق البرمجة للأغراض العامة فيها نماذج البرمجة الإجرائية، والوظيفية، والكائنية التوجه، مما يجعل بيرل لغة مريحة للمدى الطويل في المشاريع الكبرى، مهما كان توجهك.

لم تُنسَ جذور بيرل في معالجة النصوص على مر السنين. فهو لا يزال يفتخر ببعض من أقوى التعبيرات النمطية التي يمكن العثور عليها في أي مكان، ودعمه لنصوص يونيكود هو من الطراز العالمي. كما أنه يتعامل مع جميع أنواع النصوص المهيكلة أيضًا من خلال مجموعة واسعة من الملحقات. تلك المكتبات، المجموعة في CPAN، توفر حلولاً جاهزة لمجموعة مذهلة من المشاكل. وعندما لا تضع المعايير بنفسها، فإنها تسرق من الأفضل -- تماماً مثل بيرل نفسه.

التوفر

يتوفر بيرل لمعظم أنظمة التشغيل، بما في ذلك جميع المنصات الشبيهة بيونكس تقريباً. انظر "المنصات المدعومة" في perlport للحصول على قائمة.

البيئة

انظر "ENVIRONMENT" في perlrun.

المؤلف

لاري وول <larry@wall.org>، بمساعدة عدد كبير من الأشخاص الآخرين.

إذا كانت قصص نجاحك مع بيرل وشهاداتك قد تساعد الآخرين الذين يرغبون في تأييد استخدام بيرل في تطبيقاتهم، أو إذا كنت ترغب ببساطة في التعبير عن امتنانك لـ لاري ومطوري بيرل، فيرجى الكتابة إلى perl-thanks@perl.org.

الملفات

"@INC"                 مواقع مكتبات بيرل

"@INC" أعلاه هو مرجع للمتغير المدمج الذي يحمل الاسم نفسه؛ راجع perlvar لمزيد من المعلومات.

انظر أيضًا

https://www.perl.org/
صفحة بيرل الرئيسة
https://www.perl.com/
مقالات بيرل
https://www.cpan.org/
أرشيف Perl الشامل (CPAN)
https://www.pm.org/
Perl Mongers

التشخيص

يضمن استخدام براغما "use strict" التصريح عن كافة المتغيرات بشكل صحيح ويمنع سوء الاستخدام الآخر لميزات بيرل القديمة. هذه مفعلة مبدئيًا ضمن نطاق "use v5.12" (أو أعلى).

تنتج برغما "use warnings" بعض التشخيصات الرائعة. هي مفعلة مبدئيًا عند قول "use v5.35" (أو أعلى). يمكن للمرء أيضًا استخدام علم -w، ولكن استخدامه غير محبذ عادةً لأنه يُطبق على جميع أكواد بيرل المنفذة، بما في ذلك تلك التي لا تخضع لسيطرتك.

انظر perldiag لشرح جميع تشخيصات بيرل. تقوم الكلمة التوجيهية "use diagnostics" آليًا بتحويل تحذيرات وأخطاء بيرل المقتضبة عادةً إلى هذه الأشكال الأطول.

ستخبرك أخطاء التجميع برقم سطر الخطأ، مع إشارة إلى الرمز التالي أو نوع الرمز الذي كان سيُفحص. (في نص برمجي مُرر إلى بيرل عبر مفاتيح -e، يُحسب كل -e كسطر واحد.)

سكربتات Setuid لها قيود إضافية يمكن أن تنتج رسائل خطأ مثل "Insecure dependency". انظر perlsec.

هل ذكرنا أنه يجب عليك بالتأكيد التفكير في استخدام برغما use warnings؟

العلل

السلوك الذي تفرضه برغما use warnings ليس إلزاميًا.

يقع بيرل تحت رحمة تعريفات حاسوبك للعمليات المختلفة مثل تحويل الأنواع، و atof()، ومخرج الفاصلة العائمة مع sprintf().

إذا كان نظام stdio لديك يتطلب عملية seek أو eof بين القراءات والكتابات في مجرى معين، فإن بيرل تتطلب ذلك أيضًا. (هذا لا ينطبق على sysread() و syswrite().)

بينما لا يوجد لأي من أنواع البيانات المضمنة أي حدود اعتباطية للحجم (بخلاف حجم الذاكرة)، إلا أنه لا تزال هناك بعض الحدود الاعتباطية: لا يجوز أن يكون اسم المتغير المعطى أطول من 251 محرفًا. أرقام الأسطر التي تعرضها التشخيصات تُخزن داخليًا كأعداد صحيحة قصيرة، لذا فهي محدودة بحد أقصى 65535 (وعادة ما تتأثر الأرقام الأعلى بالالتفاف).

يمكنك إرسال تقارير الأخطاء (تأكد من تضمين معلومات الإعداد الكاملة كما يخرجها برنامج myconfig في شجرة مصدر بيرل، أو عبر "perl -V") إلى https://github.com/Perl/perl5/issues.

يرمز بيرل في الواقع إلى Pathologically Eclectic Rubbish Lister، ولكن لا تخبر أحداً أنني قلت ذلك.

ملاحظات

شعار بيرل هو "هناك أكثر من طريقة للقيام بذلك." ترك تخمين كم عدد الطرق الأخرى كتمرين للقارئ.

الفضائل الثلاث الرئيسة للمبرمج هي الكسل، ونفاد الصبر، والغطرسة. انظر كتاب الجمل (Camel Book) لمعرفة السبب.

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

2 أبريل 2026 بيرل v5.40.2