بيرل

بيرل هي لغة برمجة ديناميكية عالية المستوى ، متعددة الأغراض ، ومفسرة . على الرغم من أن بيرل ليست اختصارًا رسميًا، [ 8 ] إلا أن هناك العديد من الاختصارات العكسية المستخدمة، بما في ذلك "لغة الاستخراج والإبلاغ العملية". [ 9 ]

طُوِّرت لغة بيرل على يد لاري وول عام ١٩٨٧ كلغة برمجة نصية عامة الأغراض لنظام يونكس ، بهدف تسهيل معالجة التقارير. [ ١٠ ] [ ١١ ] ومنذ ذلك الحين، خضعت للعديد من التغييرات والتعديلات. في البداية، لم يكن اسم بيرل يُكتب بحرف كبير، ثم جرى تغييره إلى حرف كبير مع إصدار بيرل ٤. [ ١١ ] أحدث إصدار هو بيرل ٥، الذي صدر لأول مرة عام ١٩٩٤. من عام ٢٠٠٠ وحتى أكتوبر ٢٠١٩، كان يجري تطوير إصدار سادس من بيرل، وقد غُيِّر اسم هذا الإصدار إلى راكو . [ ١٢ ] [ ١٣ ] ولا تزال كلتا اللغتين تُطوَّران بشكل مستقل من قِبَل فرق تطوير مختلفة، تستلهم كل منهما أفكارها من الأخرى.

تستعير لغة بيرل ميزات من لغات برمجة أخرى، بما في ذلك C و sh و AWK و sed . [ 1 ] وهي توفر إمكانيات معالجة النصوص دون قيود طول البيانات التعسفية التي تفرضها العديد من أدوات سطر الأوامر الحديثة في أنظمة يونكس . [ 14 ] بيرل لغة برمجة عالية التعبير : إذ يمكن أن يكون كود المصدر لخوارزمية معينة قصيرًا وقابلًا للضغط بدرجة كبيرة. [ 15 ] [ 16 ]

اكتسبت لغة بيرل شعبية واسعة في منتصف التسعينيات كلغة برمجة نصية لتطبيقات CGI ، ويعود ذلك جزئيًا إلى قدراتها القوية في التعبيرات النمطية وتحليل السلاسل النصية . [ 17 ] [ 18 ] [ 19 ] [ 20 ] بالإضافة إلى تطبيقات CGI، تُستخدم بيرل 5 في إدارة الأنظمة ، وبرمجة الشبكات ، والتمويل، والمعلوماتية الحيوية ، وتطبيقات أخرى، مثل واجهات المستخدم الرسومية (GUIs). وقد لُقّبت بـ"المنشار السويسري للغات البرمجة النصية" نظرًا لمرونتها وقوتها. [ 21 ] وفي عام 1998، أُشير إليها أيضًا بـ" الشريط اللاصق الذي يربط الإنترنت "، في إشارة إلى استخدامها الواسع النطاق كلغة ربط، وإلى ما يُنظر إليه على أنه عدم أناقة. [ 22 ]

الأسماء والشعارات

رمز الجمل المستخدم من قبل شركة أورايلي ميديا
شعار البصلة الذي تستخدمه مؤسسة بيرل

كان اسم لغة بيرل في الأصل "بيرل". أراد وال أن يمنح اللغة اسمًا قصيرًا ذا دلالات إيجابية. [ 23 ] ومع ذلك، اكتشف وال لغة بيرل الموجودة قبل الإصدار الرسمي للغة بيرل، فحذف حرف "a" من الاسم. [ 24 ]

يتم توسيع الاسم أحيانًا كاختصار عكسي : لغة الاستخراج والإبلاغ العملية [ 25 ] وقائمة النفايات الانتقائية المرضية الخاصة بـ Wall ، والتي توجد في صفحة الدليل لـ perl. [ 26 ]

يُزيّن غلاف كتاب "برمجة بيرل" الصادر عن دار نشر أورايلي ميديا ​​بصورة جمل عربي ، ويُعرف باسم "كتاب الجمل". [ 27 ] وقد أصبحت هذه الصورة رمزًا غير رسمي للغة بيرل. تمتلك أورايلي حقوق الصورة كعلامة تجارية ، لكنها تُرخّص استخدامها للأغراض غير التجارية ، مع اشتراط الإشارة إلى المصدر ووضع رابط لموقع www.perl.com. أما ترخيص الاستخدام التجاري فيُدرس على أساس كل حالة على حدة. [ 28 ] كما تُوفّر أورايلي شعارات "جمهورية برمجة بيرل" للمواقع غير التجارية، وأزرار "مدعوم من بيرل" لأي موقع يستخدم بيرل. [ 28 ]

تمتلك مؤسسة بيرل رمزًا بديلًا، وهو البصلة، الذي ترخصه لشركاتها التابعة، بيرل مونجرز، بيرلمونكس، بيرل.أورج، وغيرها. [ 29 ] الرمز عبارة عن تورية بصرية على كلمة "بصلة اللؤلؤ" . [ 30 ]

في عام ٢٠٢٤، نُشر شعار جديد للغة على شكل جمل [ ٣١ ] بموجب ترخيص المشاع الإبداعي من قِبل مجموعة صغيرة من المطورين. ورغم أنه ليس شعارًا رسميًا، إلا أنه يهدف إلى تمثيل كلٍ من اللغة ومجتمعها، ويستوحي تصميمه من ارتباط لغة بيرل الطويل الأمد بالجمل، كما ورد في كتاب أورايلي.

تاريخ

الإصدارات المبكرة

بدأ لاري وول العمل على لغة بيرل في عام 1987، أثناء عمله كمبرمج في شركة يونيسيس ؛ [ 14 ] أصدر الإصدار 1.0 في 18 ديسمبر 1987. [ 1 ] اعتمد وول في بدايات لغة بيرل على بعض الطرق المستخدمة في اللغات الموجودة لمعالجة النصوص.

تضمنت لغة بيرل 2، التي صدرت في يونيو 1988، [ 32 ] [ 33 ] محركًا أفضل للتعبيرات النمطية. أما لغة بيرل 3، التي صدرت في أكتوبر 1989، [ 32 ] فقد أضافت دعمًا لتدفقات البيانات الثنائية . [ 34 ]

التسعينيات

في البداية، كانت الوثائق الوحيدة المتاحة للغة بيرل عبارة عن صفحة دليل واحدة مطولة . في عام ١٩٩١، نُشر كتاب " برمجة بيرل "، المعروف لدى العديد من مبرمجي بيرل باسم "كتاب الجمل" نسبةً إلى غلافه، وأصبح المرجع الأساسي للغة. [ ٣٥ ] في الوقت نفسه، رُفع رقم إصدار بيرل إلى ٤، ليس للدلالة على تغيير جوهري في اللغة، بل لتحديد الإصدار الذي وُثِّق جيدًا في الكتاب. [ ٣٦ ] صدرت بيرل ٤ في مارس ١٩٩١. [ ٣٢ ]

خضعت لغة بيرل 4 لسلسلة من التحديثات الدورية ، بلغت ذروتها في إصدار بيرل 4.036 عام 1993، حيث تخلى وال عن بيرل 4 ليبدأ العمل على بيرل 5. واستمر التصميم الأولي لبيرل 5 حتى عام 1994. أُنشئت قائمة بريد perl5-porters في مايو 1994 لتنسيق العمل على نقل بيرل 5 إلى منصات مختلفة. ولا تزال هذه القائمة المنتدى الرئيسي لتطوير وصيانة ونقل بيرل 5. [ 37 ]

صدرت لغة بيرل 5.000 في 17 أكتوبر 1994. [ 38 ] كانت بمثابة إعادة كتابة شبه كاملة للمفسر ، وأضافت العديد من الميزات الجديدة إلى اللغة، بما في ذلك الكائنات ، والمراجع ، والمتغيرات المعجمية (my) ، والوحدات . والأهم من ذلك، أن الوحدات وفرت آلية لتوسيع اللغة دون تعديل المفسر. وقد سمح هذا للمفسر الأساسي بالاستقرار، مع تمكين مبرمجي بيرل العاديين من إضافة ميزات لغوية جديدة. ولا تزال بيرل 5 قيد التطوير النشط منذ ذلك الحين.

صدرت لغة بيرل 5.001 في 13 مارس 1995. وصدرت بيرل 5.002 في 29 فبراير 1996 مع ميزة النماذج الأولية الجديدة. وقد أتاحت هذه الميزة لمطوري الوحدات البرمجية إنشاء إجراءات فرعية تعمل كوظائف بيرل المدمجة . وصدرت بيرل 5.003 في 25 يونيو 1996 كإصدار أمني. [ 39 ]

حدث أحد أهم الأحداث في تاريخ لغة بيرل 5 خارج نطاق اللغة نفسها، وكان نتيجة لدعمها للوحدات البرمجية. ففي 26 أكتوبر 1995، أُنشئت شبكة أرشيف بيرل الشاملة (CPAN) كمستودع للغة بيرل ووحداتها البرمجية ؛ اعتبارًا من ديسمبر 2022يحتوي على أكثر من 211850 وحدة نمطية في 43865 توزيعة، كتبها أكثر من 14324 مؤلفًا، ويتم نسخه عالميًا في أكثر من 245 موقعًا. [ 40 ]

صدرت لغة بيرل 5.004 في 15 مايو 1997، وتضمنت، من بين أمور أخرى، حزمة UNIVERSAL، التي منحت بيرل كائنًا أساسيًا تُشتق منه جميع الفئات تلقائيًا، بالإضافة إلى إمكانية استدعاء إصدارات من الوحدات. ومن التطورات الهامة الأخرى تضمين وحدة CGI.pm ، [ 41 ] التي ساهمت في انتشار بيرل كلغة برمجة نصية لـ CGI . [ 42 ]

أضافت لغة بيرل 5.004 دعمًا لأنظمة التشغيل مايكروسوفت ويندوز ، وبلان 9 ، وكيو إن إكس ، وأميغا أو إس . [ 41 ]

تم إصدار Perl 5.005 في 22 يوليو 1998. تضمن هذا الإصدار العديد من التحسينات على محرك التعبيرات النمطية ، وربطًا جديدًا بالواجهة الخلفية من خلال B::*الوحدات النمطية، qr//وعامل اقتباس التعبيرات النمطية، ومجموعة كبيرة من الوحدات النمطية الأساسية الجديدة الأخرى، ودعمًا إضافيًا للعديد من أنظمة التشغيل، بما في ذلك BeOS . [ 43 ]

2000–2020

النسخة الرئيسية [ 38 ]آخر تحديث [ 44 ]
غير مدعوم: 5.429-04-1999
غير مدعوم: 5.523-02-2004
غير مدعوم: 5.615-11-2003
غير مدعوم: 5.814-12-2008
غير مدعوم: 5.102009-08-22
غير مدعوم: 5.1210-11-2012
غير مدعوم: 5.1410-03-2013
غير مدعوم: 5.162013-03-11
غير مدعوم: 5.182014-10-01
غير مدعوم: 5.202015-09-12
غير مدعوم: 5.222017-07-15
غير مدعوم: 5.242018-04-14
غير مدعوم: 5.262018-11-29
غير مدعوم: 5.282020-06-01
غير مدعوم: 5.302020-06-01
غير مدعوم: 5.322021-01-23
غير مدعوم: 5.342023-11-29
غير مدعوم: 5.362023-11-29
غير مدعوم: 5.382025-08-03
غير مدعوم: 5.402026-03-29
الإصدار المدعوم: 5.422026-03-29
أحدث إصدار: 5.442026-07-15
أسطورة:
غير مدعوم
مدعوم
أحدث إصدار
نسخة معاينة
الإصدار المستقبلي

صدرت لغة بيرل 5.6 في 22 مارس 2000. وشملت التغييرات الرئيسية دعم 64 بت ، وتمثيل سلاسل يونيكود ، ودعم الملفات التي يزيد حجمها عن 2 جيجابايت، والكلمة المفتاحية "our". [ 45 ] [ 46 ] عند تطوير بيرل 5.6، تم اتخاذ قرار بتغيير نظام الترقيم ليصبح أكثر شبهاً بمشاريع المصادر المفتوحة الأخرى؛ فبعد الإصدار 5.005_63، أصبح الإصدار التالي 5.5.640، مع خطط لجعل أرقام الإصدارات التجريبية فردية وأرقام الإصدارات المستقرة زوجية. [ 47 ]

في عام 2000، دعا وال المجتمع إلى تقديم اقتراحات لإصدار جديد من لغة بيرل. أسفرت هذه العملية عن 361 وثيقة طلب تعليقات (RFC ) استُخدمت لتوجيه تطوير بيرل 6. في عام 2001، [ 48 ] بدأ العمل على "الرؤى المستقبلية" لبيرل 6، وهي سلسلة من الوثائق تهدف إلى تلخيص طلبات التغيير وعرض تصميم الجيل التالي من بيرل. عُرضت هذه الوثائق كملخص لوثائق طلب التعليقات، وليس كوثيقة رسمية. في ذلك الوقت، كانت بيرل 6 مجرد وصف للغة.

صدرت النسخة 5.8 من لغة بيرل لأول مرة في 18 يوليو 2002، ومنذ ذلك الحين، صدرت نسخ 5.X لاحقة بشكل شبه سنوي. حسّنت النسخة 5.8 دعم يونيكود، وأضافت آلية إدخال/إخراج جديدة، وآلية معالجة خيوط جديدة، وحسّنت دقة العمليات الحسابية، بالإضافة إلى العديد من الوحدات النمطية الجديدة. [ 49 ] وحتى عام 2013، كانت هذه النسخة لا تزال الأكثر شيوعًا بين نسخ بيرل، حيث استُخدمت في أنظمة تشغيل مثل ريد هات لينكسوسوزي لينكس 10، وسولاريس 10، وإتش بي-يو إكس 11.31، وإيه آي إكس 5.

في عام ٢٠٠٤، بدأ العمل على "الملخصات" - وهي وثائق كانت في الأصل تلخص أحداث سفر الرؤيا، ولكنها أصبحت فيما بعد مواصفات لغة بيرل ٦. في فبراير ٢٠٠٥، بدأت أودري تانغ العمل على "باغز" ، وهو مترجم للغة بيرل ٦ مكتوب بلغة هاسكل . [ ٥٠ ] كان هذا أول جهد مُنسق لجعل بيرل ٦ حقيقة واقعة. توقف هذا الجهد في عام ٢٠٠٦. [ ٥١ ]

استمر مشروع بيرل على محرك داخلي جديد (PONIE) من عام 2003 حتى عام 2006. وكان الهدف منه أن يكون جسراً بين بيرل 5 وبيرل 6، وجهداً لإعادة كتابة مترجم بيرل 5 ليعمل على آلة بيرل 6 الافتراضية Parrot . وكان الهدف ضمان استمرارية ملايين أسطر كود بيرل 5 في آلاف الشركات حول العالم. [ 52 ] انتهى مشروع PONIE في عام 2006 ولم يعد قيد التطوير النشط. وقد دُمجت بعض التحسينات التي أُدخلت على مترجم بيرل 5 كجزء من PONIE في ذلك المشروع. [ 53 ]

في 18 ديسمبر 2007، بمناسبة الذكرى السنوية العشرين لإصدار بيرل 1.0، تم إطلاق بيرل 5.10.0. تضمنت هذه النسخة ميزات جديدة بارزة، مما جعلها أقرب إلى بيرل 6. وشملت هذه الميزات عبارة switch (المسماة "given"/"when")، وتحديثات التعبيرات النمطية، ومعامل المطابقة الذكية (~~). [ 54 ] [ 55 ] في نفس الفترة تقريبًا، بدأ التطوير الجاد لتطبيق آخر من بيرل 6 يُعرف باسم راكودو بيرل، والذي تم تطويره بالتزامن مع آلة باروت الافتراضية . ومنذ نوفمبر 2009، أصبحت راكودو بيرل تصدر بانتظام شهريًا، وهي الآن التطبيق الأكثر اكتمالًا لبيرل 6.

شهدت عملية تطوير لغة بيرل 5 تغييرًا جذريًا مع إصدار بيرل 5.11؛ إذ تحوّل مجتمع المطورين إلى دورة إصدار شهرية للإصدارات التجريبية، مع جدول زمني سنوي للإصدارات المستقرة. وبموجب هذه الخطة، ستتبع إصدارات تصحيح الأخطاء الإصدارات المستقرة كل ثلاثة أشهر.

في 12 أبريل 2010، تم إصدار بيرل 5.12.0. تشمل التحسينات الأساسية البارزة package NAME VERSIONبناء جملة جديد، وعامل yada yada (المخصص لتمييز التعليمات البرمجية النائبة التي لم يتم تنفيذها بعد)، والقيود الضمنية ، والتوافق الكامل مع معيار Y2038 ، وتحميل زائد لتحويل التعبيرات النمطية، ودعم DTrace ، و Unicode 5.2. [ 56 ]

في 14 مايو 2011، تم إصدار Perl 5.14 مع دعم JSON مدمج. [ 57 ]

في 20 مايو 2012، تم إصدار بيرل 5.16. ومن أبرز الميزات الجديدة إمكانية تحديد إصدار معين من بيرل يرغب المستخدم في محاكاته، مما يسمح له بترقية إصداره الحالي مع إمكانية تشغيل البرامج النصية القديمة التي قد لا تكون متوافقة معه. [ 58 ] كما يُحدّث بيرل 5.16 النواة لدعم يونيكود 6.1. [ 58 ]

في 18 مايو 2013، تم إصدار بيرل 5.18. تشمل الميزات الجديدة البارزة خطافات dtrace الجديدة، والبدائل المعجمية، والمزيد من البدائل في CORE::، وتحديث شامل للتجزئة لأسباب أمنية، ودعم Unicode 6.2. [ 59 ]

في 27 مايو 2014، تم إصدار بيرل 5.20. تشمل الميزات الجديدة البارزة توقيعات البرامج الفرعية، وشرائح التجزئة/صيغة الشريحة الجديدة، وفك مرجعية اللاحقة (تجريبي)، ويونيكود 6.3، ودالة rand() باستخدام مولد أرقام عشوائية متسق. [ 60 ]

يعزو بعض المراقبين بداية حركة بيرل الحديثة إلى إصدار بيرل 5.10. [ 61 ] ويصف هذا المصطلح تحديدًا أسلوبًا برمجيًا يتبنى استخدام CPAN، ويستفيد من التطورات الحديثة في اللغة، ويحرص على كتابة أكواد عالية الجودة. [ 62 ] وبينما يُعد كتاب "بيرل الحديثة " [ 63 ] أبرز من روّج لهذه الفكرة، فقد تبنتها أيضًا منظمات أخرى مثل منظمة بيرل المستنيرة [ 64 ] .

في أواخر عامي 2012 و2013، انطلقت عدة مشاريع لتطبيقات بديلة للغة بيرل 5: بيرل 5 في بيرل 6 من فريق راكودو بيرل، [ 65 ] و مو من ستيفان ليتل وزملاؤه، [ 66 ] و بي 2 [ 67 ] من فريق بيرل 11 بقيادة ريني أوربان، وجي بيرل من جوكي ، [ 68 ] و آر بيرل ، وهو مشروع على منصة كيكستارتر بقيادة ويل براسويل ويرتبط بمشروع بيرل 11. [ 69 ]

بيرل 6 وراكو

كاميليا ، شعار مشروع بيرل 6 [ 70 ]

في مؤتمر بيرل عام 2000 ، طرح جون أوروانت فكرة إطلاق مبادرة لغة جديدة رئيسية. [ 71 ] وقد أدى ذلك إلى قرار البدء في العمل على إعادة تصميم اللغة، والتي ستُسمى بيرل 6. وتم طلب مقترحات لميزات اللغة الجديدة من مجتمع بيرل ككل، والذي قدم أكثر من 300 طلب تعليقات (RFC) . [ 72 ]

أمضى وول السنوات القليلة التالية في استيعاب طلبات التعليقات (RFCs) ودمجها في إطار عمل متماسك للغة بيرل 6. وقدّم تصميمه لبيرل 6 في سلسلة من الوثائق بعنوان "نبوءات" - مرقمة لتتوافق مع فصول كتاب برمجة بيرل . اعتبارًا من يناير 2011 تم تغليف المواصفات التطويرية للغة بيرل 6 في وثائق تصميم تسمى الملخصات - مرقمة لتتوافق مع نهاية العالم. [ 73 ]

تناولت أطروحة برادلي إم. كون ، بإشراف وول، إمكانية استخدام آلة جافا الافتراضية كبيئة تشغيل للغة بيرل. [ 74 ] وأظهرت أطروحة كون أن هذا النهج ينطوي على إشكاليات. وفي عام 2001، تقرر تشغيل بيرل 6 على آلة افتراضية متعددة اللغات تُسمى باروت .

في عام ٢٠٠٥، أنشأت أودري تانغ مشروع Pugs ، وهو تطبيق للغة بيرل ٦ مكتوب بلغة هاسكل . وقد مثّل هذا المشروع منصة اختبار للغة بيرل ٦ (بشكل منفصل عن تطوير التطبيق الفعلي)، مما أتاح لمصممي اللغة استكشاف إمكانياتها. وأدى مشروع Pugs إلى ظهور مجتمع نشط من مطوري لغات بيرل/هاسكل، يتمحور حول قناة Libera Chat #raku على بروتوكول IRC. وقد استوعب فريق تصميم بيرل ٦ العديد من تأثيرات البرمجة الوظيفية . [ ٧٥ ]

في عام 2012، تركز تطوير لغة بيرل 6 بشكل أساسي على اثنين من المترجمات: [ 76 ]

  1. Rakudo ، وهو تطبيق يعمل على الآلة الافتراضية Parrot والآلة الافتراضية Java. [ 77 ]
  2. Niecza ، التي تستهدف وقت تشغيل اللغة المشتركة .

في عام 2013، تم الإعلان عن MoarVM ("النموذج الفوقي على وقت التشغيل")، وهي آلة افتراضية قائمة على لغة C مصممة في الأساس لبرنامج Rakudo. [ 78 ]

في أكتوبر 2019، تم تغيير اسم Perl 6 إلى Raku. [ 79 ]

اعتبارًا من عام 2017لا يزال تطبيق Rakudo وMoarVM فقط قيد التطوير النشط، بينما يتم دعم آلات افتراضية أخرى، مثل آلة جافا الافتراضية وجافا سكريبت . [ 80 ]

بيرل 7

في يونيو 2020، أُعلن عن بيرل 7 كخليفة لبيرل 5. [ 81 ] وكان من المقرر أن تعتمد بيرل 7 مبدئيًا على بيرل 5.32 مع توقع إصدارها في النصف الأول من عام 2021، وإصدار نسخ تجريبية في وقت أقرب. [ 82 ]

تمت مراجعة هذه الخطة في مايو 2021، دون تحديد أي إطار زمني للإصدار أو إصدار من لغة بيرل 5 لاستخدامه كأساس. [ 83 ] عند إصدار بيرل 7، كانت بيرل 5 ستدخل مرحلة الصيانة طويلة الأمد. مع ذلك، ستستمر إصدارات بيرل 5 المدعومة في تلقي تحديثات أمنية وإصلاحات للأخطاء. [ 84 ]

تم الإعلان عن Perl 7 في 24 يونيو 2020 في "مؤتمر Perl في السحابة" كخليفة لـ Perl 5. [ 82 ] [ 81 ] استنادًا إلى Perl 5.32، كان من المخطط أن يكون Perl 7 متوافقًا مع الإصدارات السابقة من كود Perl 5 الحديث؛ يحتاج كود Perl 5، بدون رأسية (pragma) النمطيةuse compat::perl5; ، إلى إضافة للحفاظ على التوافق، ولكن يمكن للكود الحديث حذف بعض النمطية.

أثارت خطة الانتقال إلى بيرل 7 مزيدًا من النقاش، وقامت لجنة توجيه بيرل بإلغائها لتجنب مشاكل التوافق مع الإصدارات السابقة للبرامج النصية التي لم تُكتب وفقًا لتوجيهات ووحدات البرمجة التي ستصبح افتراضية في بيرل 7. ولن يُصدر بيرل 7 إلا عندما يُضيف المطورون ميزات كافية لتبرير إصدار ترقية رئيسية. [ 85 ]

تصميم

فلسفة

بحسب وول، تمتلك لغة بيرل شعارين. الأول هو "هناك أكثر من طريقة لفعل ذلك"، والمعروف اختصارًا بـ TMTOWTDI (يُنطق تيم تودي ). وكما يجادل مؤيدو هذا الشعار، فإن هذه الفلسفة تُسهّل كتابة عبارات موجزة. [ 86 ] [ 87 ] [ 88 ]

الشعار الثاني هو: "ينبغي أن تكون الأشياء السهلة سهلة، والأشياء الصعبة ممكنة". [ 14 ]

يمكن فهم تصميم لغة بيرل كاستجابة لثلاثة اتجاهات رئيسية في صناعة الحواسيب: انخفاض تكاليف الأجهزة، وارتفاع تكاليف العمالة، والتحسينات في تقنية المترجمات . سعت العديد من لغات البرمجة السابقة، مثل فورتران وسي، إلى الاستخدام الأمثل للأجهزة الحاسوبية باهظة الثمن. في المقابل، صُممت بيرل لتمكين مبرمجي الحاسوب من كتابة البرامج بسرعة وسهولة أكبر. [ 89 ]

تتمتع لغة بيرل بالعديد من الميزات التي تُسهّل عمل المبرمج، على حساب زيادة متطلبات وحدة المعالجة المركزية والذاكرة. تشمل هذه الميزات إدارة الذاكرة التلقائية، والكتابة الديناميكية ، والسلاسل النصية، والقوائم، والجداول الترابطية، والتعابير النمطية، والاستبطان ، والدوال eval(). تتبع بيرل نظرية "عدم وجود حدود مُدمجة" [ 27 وهي فكرة مشابهة لقاعدة الصفر-الواحد-اللانهاية .

تلقى وال تدريباً في علم اللغويات، ويستند تصميم لغة بيرل بشكل كبير إلى المبادئ اللغوية . ومن الأمثلة على ذلك ترميز هوفمان (حيث ينبغي أن تكون التراكيب الشائعة قصيرة)، والترتيب الجيد للنهاية (حيث ينبغي أن تأتي المعلومات المهمة أولاً)، ومجموعة كبيرة من العناصر اللغوية الأساسية . تُفضل بيرل التراكيب اللغوية الموجزة والسهلة الكتابة بالنسبة للبشر، حتى وإن كانت تُعقّد مُفسّر بيرل. [ 90 ]

يعكس بناء جملة لغة بيرل فكرة أن "الأشياء المختلفة يجب أن تبدو مختلفة". [ 91 ] على سبيل المثال، تحتوي القيم العددية والمصفوفات والجداول الترابطية على رموز بداية مختلفة. وتستخدم مؤشرات المصفوفات ومفاتيح الجداول الترابطية أنواعًا مختلفة من الأقواس. كما أن للسلاسل النصية والتعبيرات النمطية محددات قياسية مختلفة.

تتسم لغة بيرل، وكذلك مجتمعها وثقافتها، بطابع عملي واسع. تبدأ مقدمة كتاب " برمجة بيرل" بالقول: "بيرل لغة لإنجاز عملك." [ 14 ] ومن نتائج ذلك أن بيرل ليست لغة منظمة. فهي تتضمن العديد من الميزات، وتتسامح مع استثناءات قواعدها، وتستخدم أساليب استدلالية لحل الغموض النحوي. وبسبب طبيعة المترجم المتسامحة، قد يصعب أحيانًا العثور على الأخطاء. تشير وثائق دوال بيرل إلى السلوك المتغير للدوال المدمجة في سياقات القوائم والقيم العددية بالقول: "بشكل عام، تؤدي هذه الدوال ما تريده، إلا إذا كنت ترغب في الاتساق." [ 92 ]

سمات

يستمد الهيكل العام للغة بيرل بشكل عام من لغة سي. بيرل لغة إجرائية بطبيعتها، وتتضمن متغيرات ، وتعبيرات ، وعبارات إسناد ، وكتل محددة بأقواس ، وهياكل تحكم ، وروتينات فرعية . [ 93 ]

تستوحي لغة بيرل بعض خصائصها من برمجة الصدفة. تُعلّم جميع المتغيرات برموز بادئة ، مما يسمح بإدخالها مباشرةً في السلاسل النصية . مع ذلك، وعلى عكس الصدفة، تستخدم بيرل الرموز في جميع عمليات الوصول إلى المتغيرات، وعلى عكس معظم لغات البرمجة الأخرى التي تستخدم الرموز، لا يدل الرمز على نوع المتغير، بل على نوع التعبير. فعلى سبيل المثال، بينما يُرمز للمصفوفة بالرمز "@" (على سبيل المثال @arrayname)، يُرمز لعنصر فردي في المصفوفة بالرمز القياسي "$" (على سبيل المثال $arrayname[3]). كما تحتوي بيرل على العديد من الدوال المدمجة التي توفر أدوات تُستخدم غالبًا في برمجة الصدفة (مع أن العديد من هذه الأدوات تُنفذ بواسطة برامج خارجية للصدفة)، مثل الفرز واستدعاء وظائف نظام التشغيل .

تستعير لغة بيرل التجزئة (المصفوفات الترابطية) من AWK والتعبيرات النمطية من sed . تُسهّل هذه الميزات العديد من مهام التحليل ومعالجة النصوص وإدارة البيانات. وتتشارك بيرل مع لغة ليسب في خاصية الإرجاع الضمني للقيمة الأخيرة في الكتلة، كما أن جميع العبارات هي تعبيرات يمكن استخدامها في تعبيرات أكبر.

أضافت لغة بيرل 5 ميزات تدعم هياكل البيانات المعقدة ، والدوال من الدرجة الأولى (أي، الدوال المغلقة كقيم)، ونموذج البرمجة كائنية التوجه. تشمل هذه الميزات المراجع ، والحزم، وإرسال الدوال القائم على الأصناف ، والمتغيرات ذات النطاق المعجمي ، بالإضافة إلى توجيهات المُصرّف (على سبيل المثال، التوجيه البرمجي strictpragma ). ومن أبرز الميزات الإضافية التي قدمتها بيرل 5 إمكانية تجميع التعليمات البرمجية كوحدات قابلة لإعادة الاستخدام. وقد صرّح وال لاحقًا بأن "الهدف الأساسي من نظام الوحدات في بيرل 5 هو تشجيع نمو ثقافة بيرل وليس جوهر بيرل نفسه". [ 94 ]

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

بناء الجملة

وصف منتقدو لغة بيرل لغة " ضجيج الأسطر " و"لغة كتابة فقط". يقول راندال ل. شوارتز في الطبعة الأولى من كتابه " تعلم بيرل" [ 95 ] ، في الفصل الأول: "نعم، قد تبدو بيرل أحيانًا كضجيج أسطر للمبتدئين، ولكن بالنسبة لمبرمج بيرل المتمرس، تبدو كضجيج أسطر مُحسَب له غاية." [ 96 ] كما ذكر أن اتهام بيرل بأنها لغة كتابة فقط يمكن تجنبه بالبرمجة "بعناية فائقة". [ 96 ] تشير وثيقة نظرة عامة على بيرل (perlintro) إلى أن أسماء المتغيرات العددية "السحرية" المدمجة "تبدو كعلامات ترقيم أو ضجيج أسطر". [ 97 ] ومع ذلك، توفر وحدة اللغة الإنجليزية بدائل إنجليزية طويلة وقصيرة. تشير وثيقة perlstyle إلى أنه يمكن التخفيف من ضجيج الأسطر في التعبيرات النمطية/x باستخدام المُعدِّل لإضافة مسافات بيضاء. [ 98 ]

بحسب الأسئلة الشائعة حول بيرل 6 ، [ 99 ] صُممت بيرل 6 للتخفيف من "المشاكل المعتادة" التي تُثير ادعاء "تشويش الأسطر" من قِبل منتقدي بيرل 5، بما في ذلك إزالة "معظم متغيرات علامات الترقيم" وتحسين بنية التعبيرات النمطية. كما تنص الأسئلة الشائعة حول بيرل 6 على أن ما يُشار إليه أحيانًا بتشويش أسطر بيرل هو "بنية اللغة الفعلية" تمامًا كما أن المصادر وحروف الجر جزء من اللغة الإنجليزية . [ 99 ] في منشور مدونة نُشر في ديسمبر 2012، وعلى الرغم من ادعاء كروماتيك أن "راكودو بيرل 6 قد فشل وسيستمر في الفشل ما لم يخضع لإشراف جاد"، فقد ذكر أن تصميم بيرل 6 يتميز بـ"قواعد نحوية محددة جيدًا"، و"نظام أنواع مُحسّن، ونظام كائنات موحد مع نموذج فوقي ذكي ، وعوامل فوقية، ونظام سياق أوضح يوفر ميزات مثل الكسل المُنتشر". [ 100 ] وذكر أيضًا أن "لغة بيرل 6 تتمتع بتماسك واتساق تفتقر إليهما لغة بيرل 5". [ 100 ]

في لغة بيرل، يمكن كتابة برنامج "Hello, World!" على النحو التالي:

اطبع "مرحباً بالعالم!"\ n

إليكم برنامج بيرل أكثر تعقيدًا، يقوم بالعد التنازلي للثواني من قيمة ابتدائية معينة:

#!/usr/bin/env perl use strict ; use warnings ;my ( $remaining , $total );$remaining = $total = shift ( @ARGV );STDOUT -> autoflush ( 1 );بينما ( $remaining ) { printf ( "المتبقي %s/%s \r" , $remaining -- , $total ); sleep 1 ; }اطبع "\n" ؛

لتشغيل الكود أعلاه، قم بتخزينه في ملف باسم counter.pl، ثم قم بتنفيذه.

$ perl counter.pl 42

يمكن أيضًا استخدام مترجم لغة بيرل لكتابة نصوص برمجية لمرة واحدة عبر سطر الأوامر . المثال التالي (كما تم استدعاؤه من غلاف متوافق مع sh، مثل Bash ) يترجم السلسلة النصية "Bob" في جميع الملفات التي تنتهي بـ .txt في المجلد الحالي إلى "Robert":

$ perl -i.bak -lp -e 's/Bob/Robert/g' *.txt 

تطبيق

لا توجد مواصفات أو معايير مكتوبة للغة بيرل للإصدارات من بيرل حتى الإصدار الخامس، ولا توجد خطط لإنشاء مواصفات أو معايير للإصدار الحالي. يوجد تطبيق واحد فقط للمفسر، وقد تطورت اللغة بالتوازي معه. يُعد هذا المفسر، إلى جانب اختباراته الوظيفية، بمثابة المواصفات الفعلية للغة. مع ذلك، بدأ إصدار بيرل 6 بمواصفات [ 101 ] ، وتهدف عدة مشاريع [ 102 ] إلى تطبيق بعض أو كل هذه المواصفات.

تم تنفيذ لغة بيرل كمترجم أساسي مكتوب بلغة سي، بالإضافة إلى مجموعة كبيرة من الوحدات البرمجية المكتوبة بلغة بيرل وسي. اعتبارًا من عام 2010يتكون المفسر من 150,000 سطر من كود C، ويُترجم إلى ملف  تنفيذي بحجم 1 ميجابايت على بنى الأجهزة النموذجية. كما يمكن ترجمة المفسر إلى مكتبة ربط وتضمينه في برامج أخرى. يحتوي التوزيع على ما يقارب 500 وحدة، تتألف من 200,000 سطر من كود Perl و350,000 سطر إضافي من كود C (يتكون جزء كبير من كود C في الوحدات من جداول ترميز الأحرف ).

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

تنقسم دورة حياة مترجم لغة بيرل عمومًا إلى مرحلتين: مرحلة الترجمة ومرحلة التشغيل. [ 103 ] ووفقًا لألوين وآخرين، "لا يمكن تحليل لغة بيرل باستخدام مُحلل/محلل لغوي Lex/Yacc بشكل مباشر. بدلًا من ذلك، يُنفذ المترجم مُحلله اللغوي الخاص، الذي ينسق مع مُحلل GNU bison المُعدّل لحلّ الغموض في اللغة." [ 104 ]

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

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

تتمتع لغة بيرل بقواعد نحوية كاملة تورينج، لأن عملية التحليل النحوي قد تتأثر بالتعليمات البرمجية التي تُنفذ أثناء مرحلة الترجمة. [ 106 ] لا يمكن تحليل هذه التعليمات البرمجية باستخدام محلل لغوي / نحوي مباشر من نوع Lex / Yacc . ولحل الغموض في اللغة، يجب على المفسر تنفيذ محلل لغوي خاص به للتنسيق مع محلل GNU bison المعدل . [ 107 ]

كثيرًا ما يُقال إن "لغة بيرل وحدها قادرة على تحليل لغة بيرل" [ 108 ] ، أي أن مُفسِّر بيرل ( Perl perl) وحده هو القادر على تحليل لغة بيرل ( Perl )، ولكن حتى هذا ليس صحيحًا بشكل عام. نظرًا لقدرة مُفسِّر بيرل على محاكاة آلة تورينج خلال مرحلة الترجمة، فإنه سيحتاج إلى حلّ مشكلة التوقف لإتمام عملية التحليل في كل حالة. ومن النتائج الراسخة أن مشكلة التوقف غير قابلة للحل، وبالتالي لا تستطيع بيرل دائمًا تحليل لغة بيرل. تتخذ بيرل خيارًا غير مألوف بمنح المستخدم إمكانية الوصول إلى كامل إمكانياتها البرمجية في مرحلة الترجمة الخاصة بها. صحيح أن التكلفة من حيث النقاء النظري باهظة، إلا أن الإزعاج العملي يبدو نادرًا. [ 109 ]

تواجه البرامج الأخرى التي تُعنى بتحليل لغة بيرل، مثل محللات شفرة المصدر وبرامج التنسيق التلقائي ، تحدياتٍ لا تقتصر على التعامل مع البنى النحوية الغامضة فحسب ، بل تشمل أيضًا عدم إمكانية حسم تحليل بيرل في الحالة العامة. ركز مشروع آدم كينيدي PPI على تحليل شفرة بيرل كمستند (مع الحفاظ على سلامتها كمستند)، بدلًا من تحليلها كشفرة تنفيذية (وهو ما لا تستطيع بيرل نفسها القيام به دائمًا). كان كينيدي أول من افترض أن "تحليل بيرل يعاني من 'مشكلة التوقف'"، [ 110 ] وهو ما ثبت لاحقًا. [ 111 ]

تُوزَّع لغة بيرل مع أكثر من 250,000 اختبار وظيفي للغة بيرل الأساسية، وأكثر من 250,000 اختبار وظيفي للوحدات الأساسية. تُنفَّذ هذه الاختبارات كجزء من عملية البناء الاعتيادية، وتُخضع المفسر ووحداته الأساسية لاختبارات مكثفة. يعتمد مطورو بيرل على هذه الاختبارات الوظيفية لضمان عدم تسبب التغييرات التي تُجرى على المفسر في ظهور أخطاء برمجية ؛ علاوة على ذلك، يُمكن لمستخدمي بيرل الذين يرون أن المفسر يجتاز اختباراته الوظيفية بنجاح على أنظمتهم أن يثقوا بدرجة عالية في أنه يعمل بشكل سليم.

الموانئ

لغة بيرل مرخصة بترخيص مزدوج، يشمل كلاً من رخصة Artistic License 1.0 [ 4 ] [ 5 ] ورخصة جنو العمومية العامة [ 6 ] . تتوفر توزيعات بيرل لمعظم أنظمة التشغيل . وهي شائعة الاستخدام بشكل خاص على أنظمة يونكس والأنظمة الشبيهة بيونكس ، ولكن تم نقلها إلى معظم المنصات الحديثة (والعديد من المنصات القديمة). باستثناء ست حالات فقط، يمكن تجميع بيرل من شفرة المصدر على جميع المنصات المتوافقة مع معيار POSIX ، أو المنصات المتوافقة مع يونكس. [ 112 ]

نظراً للتغييرات غير المعتادة المطلوبة لبيئة نظام التشغيل ماك الكلاسيكي ، تم إصدار نسخة خاصة تسمى ماك بيرل بشكل مستقل. [ 113 ]

تحتوي شبكة أرشيف بيرل الشاملة (CPAN) على قائمة كاملة بالمنصات المدعومة مع روابط للتوزيعات المتاحة على كل منها. [ 114 ] كما تُعد CPAN مصدرًا لوحدات بيرل المتاحة للعموم والتي لا تُعد جزءًا من توزيعة بيرل الأساسية.

ActivePerl هي توزيعة مغلقة المصدر من ActiveState ، تصدر بانتظام بالتزامن مع إصدارات Perl الأساسية. [ 115 ] كانت التوزيعة تتضمن سابقًا مدير حزم Perl (PPM)، [ 116 ] وهي أداة شائعة لتثبيت وإزالة وترقية وإدارة استخدام وحدات Perl الشائعة؛ إلا أن هذه الأداة توقفت مع ActivePerl 5.28. [ 117 ] كما تتضمن PerlScript ، وهو محرك Windows Script Host (WSH) يُنفذ لغة Perl. أما Visual Perl فهي أداة من ActiveState تُضيف Perl إلى حزمة تطوير Visual Studio .NET . كما أنتجت هذه الشركة محول VBScript إلى Perl، ومترجم Perl لنظام التشغيل Windows، ومحولات AWK و sed إلى Perl، وتم تضمينها في قرص ActiveState المضغوط لنظام التشغيل Windows ، والذي يتضمن جميع توزيعاتها بالإضافة إلى Komodo IDE وجميع الإصدارات باستثناء الإصدار الأول على متغير Unix-Linux-POSIX الخاص بها في عام 2002 وما بعده.

أداء

تقارن لعبة معايير لغات البرمجة أداء تطبيقات مسائل البرمجة النموذجية في عدة لغات برمجة. [ 118 ] عادةً ما يكون أداء تطبيقات بيرل المُقدمة مرتفعًا نسبيًا من حيث استخدام الذاكرة، وتُعطي نتائج سرعة متفاوتة. يُعد أداء بيرل في لعبة المعايير نموذجيًا للغات المُفسَّرة. [ 119 ]

تبدأ برامج بيرل الكبيرة ببطء أكبر من البرامج المماثلة المكتوبة بلغات مُصرّفة، لأن بيرل مُضطرة إلى تجميع الكود المصدري في كل مرة تُشغّل فيها. في محاضرة ألقاها جان لويس ليروي في مؤتمر YAPC::Europe 2005 ، وفي مقال لاحق بعنوان "بداية في الوقت المناسب"، وجد أن برامج بيرل الخاصة به تستغرق وقتًا أطول بكثير من المتوقع، لأن مُفسّر بيرل يقضي وقتًا طويلًا في البحث عن الوحدات النمطية ضمن مسار التضمين الكبير جدًا. [ 120 ] على عكس جافا وبايثون وروبي، لا تدعم بيرل التجميع المُسبق إلا بشكل تجريبي. [ 121 ] لذلك، تتحمل برامج بيرل هذا العبء الإضافي في كل عملية تنفيذ. صحيح أن مرحلة تشغيل البرامج النموذجية طويلة بما يكفي بحيث لا يكون وقت بدء التشغيل المُستهلك كبيرًا، إلا أن معايير الأداء التي تقيس أوقات التنفيذ القصيرة جدًا من المرجح أن تكون مُضللة بسبب هذا العبء الإضافي. [ 122 ]

تم استحداث عدد من الأدوات لتحسين هذا الوضع. أول هذه الأدوات كانت mod_perl من أباتشي ، والتي سعت إلى معالجة أحد أكثر الأسباب شيوعًا لاستدعاء برامج بيرل الصغيرة بسرعة: تطوير تطبيقات الويب باستخدام CGI . يوفر ActivePerl ، عبر Microsoft ISAPI ، تحسينات مماثلة في الأداء. [ 123 ]

بعد تجميع كود بيرل، تظهر تكاليف إضافية أثناء مرحلة التنفيذ لا توجد عادةً في البرامج المكتوبة بلغات مُجمّعة مثل C أو C++. ومن أمثلة هذه التكاليف الإضافية تفسير رمز البايت ، وإدارة الذاكرة باستخدام عدّ المراجع، والتحقق الديناميكي من الأنواع. [ 124 ]

يمكن كتابة الإجراءات الأكثر أهمية بلغات أخرى (مثل لغة C )، والتي يمكن ربطها بلغة Perl عبر وحدات Inline بسيطة أو آلية XS الأكثر تعقيدًا ولكنها مرنة . [ 125 ]

التطبيقات

تتمتع لغة بيرل بالعديد من التطبيقات المتنوعة، والتي تتفاقم بسبب توفر العديد من الوحدات النمطية القياسية ووحدات الطرف الثالث.

استُخدمت لغة بيرل بشكل رئيسي لكتابة برامج CGI النصية: تشمل المشاريع الكبيرة المكتوبة بلغة بيرل cPanel و Slash و Bugzilla و RT و TWiki و Movable Type ؛ ومن المواقع الإلكترونية ذات الزيارات العالية التي تستخدم بيرل على نطاق واسع Priceline.com و Craigslist و IMDb و LiveJournal و DuckDuckGo و Slashdot و Ticketmaster . كما أنها مكون اختياري في حزمة تقنية LAMP الشهيرة لتطوير الويب ، بدلاً من PHP أو Python . وتُستخدم بيرل على نطاق واسع كلغة برمجة نظام في توزيعة دبيان لينكس .

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

يمكن جعل كود بيرل قابلاً للنقل بين أنظمة ويندوز ويونكس؛ وغالبًا ما يستخدم موردو البرامج (سواء كانت برامج تجارية جاهزة أو برامج مصممة خصيصًا) هذا الكود لتبسيط عملية تغليف وصيانة نصوص بناء البرامج ونشرها. [ 132 ]

تُستخدم Perl/Tk و wxPerl بشكل شائع لإضافة واجهات مستخدم رسومية إلى نصوص Perl البرمجية.

يمكن استخدام إمكانيات معالجة النصوص في لغة بيرل لإنشاء استعلامات SQL ؛ حيث تُسهّل المصفوفات والجداول التجزئية والإدارة التلقائية للذاكرة عملية جمع البيانات المُسترجعة ومعالجتها. على سبيل المثال، في واجهة برمجة تطبيقات Perl DBI الخاصة بتيم بانس ، يمكن أن تكون وسائط واجهة برمجة التطبيقات عبارة عن نصوص استعلامات SQL؛ وبالتالي، يُمكن البرمجة بلغات متعددة في الوقت نفسه (على سبيل المثال، لإنشاء صفحة ويب باستخدام HTML و JavaScript وSQL في مستند مضمّن ). يتيح استخدام استيفاء متغيرات بيرل لتخصيص كل استعلام من استعلامات SQL برمجيًا، وتحديد مصفوفات أو جداول تجزئية بيرل كهياكل لتخزين مجموعات البيانات الناتجة من كل استعلام SQL برمجيًا، آلية عالية المستوى لمعالجة كميات كبيرة من البيانات للمعالجة اللاحقة بواسطة برنامج فرعي في بيرل. [ 133 ] في الإصدارات الأولى من بيرل، كانت واجهات قواعد البيانات تُنشأ عن طريق إعادة ربط المفسر بمكتبة قاعدة بيانات من جانب العميل . كان هذا الأمر صعباً بما يكفي بحيث لم يتم تنفيذه إلا لعدد قليل من قواعد البيانات الأكثر أهمية والأكثر استخداماً، كما أنه قيد البرنامج التنفيذي الناتج على استخدام واجهة قاعدة بيانات واحدة فقط في كل مرة. [ 134 ]perl

في لغة بيرل 5، تُنفَّذ واجهات قواعد البيانات بواسطة وحدات بيرل DBI. تُقدِّم وحدة DBI (واجهة قاعدة البيانات) واجهةً واحدةً مستقلةً عن قاعدة البيانات لتطبيقات بيرل، بينما تتولى وحدات DBD (برنامج تشغيل قاعدة البيانات) تفاصيل الوصول إلى حوالي 50 قاعدة بيانات مختلفة؛ وتتوفر برامج تشغيل DBD لمعظم قواعد بيانات ANSI SQL . [ 135 ]

توفر DBI التخزين المؤقت لمقابض قواعد البيانات والاستعلامات، مما يمكن أن يحسن الأداء بشكل كبير في بيئات التنفيذ طويلة الأمد مثل mod_perl ، [ 136 ] مما يساعد الأنظمة ذات الأحجام الكبيرة على تجنب ارتفاعات الحمل المفاجئة كما هو الحال في تأثير Slashdot . [ 137 ]

في تطبيقات بيرل الحديثة، وخاصة تلك المكتوبة باستخدام أطر عمل الويب مثل Catalyst ، غالبًا ما تُستخدم وحدة DBI بشكل غير مباشر عبر أدوات ربط الكائنات العلائقية مثل DBIx::Class و Class::DBI [ 138 ] أو Rose::DB::Object [ 139 ] التي تُنشئ استعلامات SQL وتتعامل مع البيانات بشفافية تامة لمطور التطبيق. [ 140 ]

مجتمع

تطورت ثقافة لغة بيرل ومجتمعها بالتوازي مع تطور اللغة نفسها. كانت يوزنت أول منصة عامة تم فيها تقديم بيرل، ولكن على مدار تطورها، تشكل مجتمع بيرل بفعل نمو الخدمات القائمة على الإنترنت، بما في ذلك ظهور شبكة الويب العالمية. في الواقع، كان المجتمع المحيط ببيرل موضوع أول محاضرة لـ"وول" بعنوان "حالة البصلة". [ 141 ]

"حالة البصلة" هو اسم ملخصات وول السنوية، التي تُقدم بأسلوبٍ يُشبه الخطابات الرئيسية ، حول تطور لغة بيرل ومجتمعها. وتتميز هذه الملخصات بأسلوبه الفكاهي المميز، حيث يستخدم فيها إشاراتٍ إلى ثقافة بيرل، وثقافة المبرمجين الأوسع، وخلفية وول اللغوية، وأحيانًا إلى حياته العائلية، وأحيانًا حتى إلى خلفيته المسيحية. [ 142 ] تُلقى كل محاضرةٍ أولًا في مؤتمرات بيرل المختلفة، ثم تُنشر لاحقًا على الإنترنت.

في رسائل البريد الإلكتروني، ومجموعات يوزنت، ومنشورات المنتديات، تُعدّ برامج "مجرد مخترق بيرل آخر" (JAPH) ظاهرة شائعة، ابتكرها راندال ل. شوارتز ، أحد أوائل مدربي بيرل المحترفين. [ 143 ] في لغة ثقافة بيرل، يُعرف مبرمجو بيرل باسم "مخترقي بيرل"، ومن هنا نشأت عادة كتابة برامج قصيرة لطباعة عبارة "مجرد مخترق بيرل آخر ، [ كذا ] ". وتماشياً مع المفهوم الأصلي، تكون هذه البرامج مُشفرة بشكل معتدل وقصيرة بما يكفي لتناسب توقيع رسالة بريد إلكتروني أو رسالة يوزنت. يتضمن برنامج JAPH "النموذجي" الذي طوره شوارتز الفاصلة في النهاية، على الرغم من أنه غالباً ما يتم حذفها. [ 144 ]

"جولف" بيرل هوايةٌ تتمثل في تقليل عدد الأحرف (ضغطات المفاتيح) المستخدمة في برنامج بيرل إلى الحد الأدنى، تمامًا كما يسعى لاعبو الجولف إلى تقليل عدد الضربات في الجولة. أول استخدام للعبارة [ 145 ] أبرز الفرق بين الشيفرة البسيطة المصممة لتعليم المبتدئين والحلول المختصرة التي قد تُسلي مبرمجي بيرل ذوي الخبرة، ومن أمثلة الأخيرة أوامر JAPH التي كانت تُستخدم بالفعل في التوقيعات في منشورات يوزنت وغيرها. كانت حيلٌ مماثلة هوايةً غير مُسماة في لغة APL في العقود السابقة. أدى استخدام بيرل لكتابة برنامج يُنفذ تشفير RSA إلى اهتمامٍ واسع النطاق وعملي بهذه الهواية. [ 146 ] في السنوات اللاحقة، طُبِّق مصطلح " جولف الشيفرة " على هذه الهواية في لغات أخرى. [ 147 ] عُقدت فعالية "بيرل جولف أبوكاليبس" في مؤتمر بيرل 4.0 في مونتيري، كاليفورنيا، في يوليو 2000.

كما هو الحال مع لغة C، كانت مسابقات البرمجة المُشفرة هواية شائعة في أواخر التسعينيات. أُقيمت مسابقة البرمجة المُشفرة بلغة بيرل من قِبل مجلة بيرل من عام ١٩٩٦ إلى عام ٢٠٠٠، والتي استغلت مرونة لغة بيرل النحوية كميزة أساسية. مُنحت جوائز لفئات مثل "الأقوى" - البرامج التي تستخدم المساحة بكفاءة - و"أفضل توقيع من أربعة أسطر" للبرامج التي تتناسب مع أربعة أسطر من ٧٦ حرفًا على غرار توقيع يوزنت . [ ١٤٨ ]

الشعر البيرلي هو فن كتابة قصائد يمكن تحويلها إلى شفرة بيرلي قانونية، مثل قصيدة " بيرلي السوداء ". ويُعزى ازدياد استخدام الكلمات الإنجليزية في لغة بيرلي إلى هذا الفن. وتُنشر قصائد جديدة بانتظام في مجتمع بيرلمونكس. [ 149 ]

مؤتمر بيرل آخر

مؤتمر بيرل آخر [ 150 ] : 754 [ 151 ] : 14 (يُسمى أيضًا YAPC )، من 2016 إلى 2019 يُسمى مؤتمر بيرل ( TPC )، ومن 2020 فصاعدًا مؤتمر بيرل وراكو ، هو سلسلة من المؤتمرات التي تناقش لغة برمجة بيرل ، والتي تُعقد منذ عام 1999. وعادة ما يتم تنظيمها تحت رعاية مؤسسة بيرل وجمعية أخرى ، وهي "مؤسسة غير ربحية للنهوض بالجهود التعاونية في علوم الحاسوب والمعلومات".

تاريخ

عُقد المؤتمر الأول لـ YAPC في جامعة كارنيجي ميلون بمدينة بيتسبرغ، بنسلفانيا ، الولايات المتحدة الأمريكية، يومي 24 و25 يونيو 1999، [ 150 ] بتنظيم من كيفن لينزو . [ 152 ] نشأت فكرة YAPC من مجموعة مستخدمي Perl Mongers غير الربحية. [ 153 ] [ 154 ] ضمّ المؤتمر الأول 31 متحدثًا مختلفًا تناولوا مواضيع متنوعة متعلقة بلغة بيرل.

انتشرت فكرة مؤتمر بيرل منخفض التكلفة بسرعة. نُظِّمت النسخة الأوروبية الأولى من مؤتمر YAPC من قِبَل أعضاء من مجموعة Perl Mongers في لندن عام 2000، [ 155 ] وفي إسرائيل عام 2003، [ 154 ] وفي أستراليا عام 2004، وفي آسيا والبرازيل عام 2005، وفي روسيا عام 2008. القارتان الوحيدتان اللتان لم تستضيفا مؤتمر YAPC هما أفريقيا والقارة القطبية الجنوبية .

في عام 2016، غيّرت YAPC اسمها إلى مؤتمر بيرل، [ 156 ] : 757، وهو الاسم السابق لمؤتمر أورايلي للمصادر المفتوحة (OSCON). ومنذ عام 2020، أصبح اسمها مؤتمر بيرل وراكو، وذلك تماشياً مع تغيير اسم بيرل 6 إلى راكو .

استقبال

بحلول عام ٢٠٠٢، صنّف قاموس مطوري بيرل مؤتمر YAPC كثاني أهم مؤتمر في عالم بيرل، بعد مؤتمر المصادر المفتوحة الذي تنظمه دار نشر أورايلي . [ ١١ ] ويصف كتاب "Minimal Perl" مؤتمر YAPC بأنه "مجموعة من الفعاليات الشعبية منخفضة التكلفة تُعقد حول العالم لصالح أولئك الذين لا يستطيعون تحمل تكاليف المؤتمرات الأكثر تكلفة أو يفضلون ببساطة صحبة الطلاب والمبرمجين على صحبة متخصصي تكنولوجيا المعلومات في الشركات". [ ١٥٧ ] وقد أوصى العديد من الكتب الأخرى حول برمجة بيرل الصادرة في العقد الأول من الألفية الثانية بحضور هذا المؤتمر. [ ١٥٨ ]

استعرضت مجلة لينكس الهولندية المؤتمر الأوروبي الثاني لـ YAPC، الذي عُقد في أمستردام عام 2001، ووصفت حالة الذعر التي سادت عندما كشف المنظمون عن تنصتهم على حركة مرور الشبكة، واكتشفوا أن العديد من المشاركين استخدموا كلمات مرور غير مشفرة، على الرغم من أن موضوع المؤتمر كان الأمن السيبراني. [ 159 ] وشملت المواضيع الأخرى في ذلك العام بناء واجهات المستخدم، واستخدام لغة بيرل في معالجة الكلام، والبرمجة المتوازية، وعُقدت في المؤتمر ثلاث جلسات متوازية بمشاركة حوالي 250 شخصًا.

الاسم هو بمثابة تكريم لـ yacc ، " Yet Another Compiler Compiler".

المواقع

أمريكا الشمالية
أوروبا
إسرائيل
  • 2003: حيفا (11 مايو 2003) YAPC::إسرائيل::2003
  • 2004: هرتسليا (26 فبراير 2004) YAPC::إسرائيل::2004
  • 2005: هرتسليا (17 فبراير 2005) YAPC::إسرائيل::2005
  • 2006: نتانيا . في عام 2006، أصبح YAPC::Israel يُعرف باسم OSDC ::Israel. OSDC::Israel 2006
روسيا وأوكرانيا
أستراليا
  • عُقدت أول فعالية YAPC::Australia كجزء من مؤتمر OSDC لعام 2004 في ملبورن في الفترة من 1 ديسمبر إلى 5 ديسمبر 2004، وقد تم عقدها بشكل مشترك بعد ذلك.
أمريكا الجنوبية

تُقام هذه الفعاليات بالتزامن مع CONISLI .

  • 2006: بورتو أليغري / جمهورية صربسكا (19-22 أبريل 2006) YAPC::SA::2006
  • 2007: بورتو أليغري/RS (11-14 أبريل 2007) YAPC::SA::2007
  • 2008: بورتو أليغري/RS (17-19 أبريل 2008) YAPC::SA::2008
  • 2009: بورتو أليغري/RS (24-27 يونيو 2009) YAPC::SA::2009
البرازيل
آسيا

انظر أيضاً

مراجع

  1. 1 2 3 أشتون، إيلين (1999). "الجدول الزمني للغة بيرل وثقافتها (الإصدار 3.0_0505)" . مؤرشف من الأصل في 11 يناير 2013. تم الاطلاع عليه في 12 مارس 2004 .
  2. "Perl v5.44.0 متوفر الآن!" . www.nntp.perl.org . تم الاطلاع عليه بتاريخ 23 يوليو 2026 .
  3. "إعلان إصدار بيرل v5.45.1" . www.nntp.perl.org . تم الاطلاع عليه بتاريخ 23 يوليو 2026 .
  4. 1 2 "الرخصة الفنية" - dev.perl.org" . dev.perl.org . مؤرشف من الأصل في 24 يوليو 2018. تم الاطلاع عليه في 24 يونيو 2016 .
  5. 1 2 أرشفة فنية بتاريخ 25 يوليو 2018، في Wayback Machine - ملف موجود في مستودع Perl 5 git
  6. 1 2 "ترخيص بيرل" . dev.perl.org. مؤرشف من الأصل في 22 يناير 2011. تم الاطلاع عليه في 8 يناير 2011 .
  7. وول، لاري (12 ديسمبر 2007). "البرمجة صعبة، فلنبدأ بكتابة البرامج النصية..." مؤرشف من الأصل في 28 يوليو 2017. تم الاطلاع عليه في 14 أبريل 2019. لكل مصمم لغة خصائصه المميزة أحيانًا . أنا فقط أفضل من معظمهم في هذا المجال.
  8. لابوورث، ليو. "أسئلة عامة حول بيرل" . الأسئلة الشائعة حول بيرل . Perl.org. مؤرشف من الأصل في 28 مايو 2013. تم الاطلاع عليه في 24 فبراير 2012 .
  9. "perl(1): لغة استخراج/إعداد تقارير عملية - صفحة دليل لينكس" . Linux.die.net. مؤرشف من الأصل في 3 يونيو 2013. تم الاطلاع عليه في 23 يوليو 2013 .
  10. شيبارد، دوغ (16 أكتوبر 2000). "مقدمة للمبتدئين في لغة بيرل" . dev.perl.org. مؤرشف من الأصل في 5 يونيو 2011. تم الاطلاع عليه في 8 يناير 2011 .
  11. 1 2 3 "لاري وول، خبير لغة بيرل" . مجلة لينكس . تم الاطلاع عليه بتاريخ 30 أغسطس 2023 .
  12. "حول بيرل" . perl.org. مؤرشف من الأصل في 6 نوفمبر 2015. تم الاطلاع عليه في 20 أبريل 2013 ."بيرل" هي عائلة من اللغات، و"بيرل 6" جزء من هذه العائلة، لكنها لغة مستقلة لها فريق تطوير خاص بها. ولا يؤثر وجودها بشكل كبير على استمرار تطوير "بيرل 5".
  13. "المسار إلى راكو" . جيت هاب. مؤرشف من الأصل في 12 نوفمبر 2020. تم الاطلاع عليه في 14 يناير 2021. توضح هذه الوثيقة الخطوات اللازمة لتغيير اسم لغة بيرل 6 إلى راكو .
  14. 1 2 3 4 وال، لاري ؛ كريستيانسن، توم؛ أوروانت، جون (يوليو 2000). برمجة بيرل، الطبعة الثالثة . دار نشر أورايلي ميديا . ISBN 978-0-596-00027-1.
  15. "كيفية قياس أداء البرامج" . لعبة معايير لغات البرمجة، Debian.net . مؤرشف من الأصل في 12 يوليو 2020. تم الاطلاع عليه في 5 أكتوبر 2020 .
  16. "RSA في 3 أسطر من لغة بيرل - Everything2.com" . everything2.com . 26 نوفمبر 2000. مؤرشف من الأصل في 8 أكتوبر 2020. تم الاطلاع عليه في 5 أكتوبر 2020 .
  17. "تقييمات اللغة" . مؤرشف من الأصل في 10 مارس 2015. تم الاسترجاع في 30 يناير 2015. تكمن أقوى ميزة في لغة بيرل في إمكانياتها المدمجة فائقة القوة لمعالجة تنسيقات البيانات النصية الموجهة بالأنماط؛ فهي لا مثيل لها في هذا المجال.
  18. "استخدمتَ لغة بيرل لكتابة ماذا؟!" . 24 يناير 2008. مؤرشف من الأصل في 4 فبراير 2015. تم الاسترجاع في 4 فبراير 2015. لطالما كانت لغة بيرل هي اللغة المُفضّلة لأي مهمة تتضمن مطابقة أنماط الإدخال .
  19. "أهمية لغة بيرل" . مؤرشف من الأصل في 2 فبراير 2015. تم الاطلاع عليه في 4 فبراير 2015. قدرة بيرل الفريدة على معالجة النصوص...
  20. ↑ سميث ، رودريك و. (21 يونيو 2002). شبكات لينكس المتقدمة . أديسون-ويسلي بروفيشنال. ص 594. ISBN  978-0-201-77423-8.
  21. شيبارد، دوغ (16 أكتوبر 2000). "مقدمة للمبتدئين في لغة بيرل" . دار نشر أورايلي ميديا . مؤرشف من الأصل في 4 يونيو 2008. تم الاطلاع عليه في 27 يوليو 2008 .
  22. ليونارد، أندرو. "متعة لغة بيرل" . Salon.com . مؤرشف من الأصل في 6 يوليو 2012. تم الاطلاع عليه في 5 يونيو 2012 .
  23. "كتابة السيناريو على سطح ليدو" . مجلة وايرد . 7 مارس 2016. مؤرشف من الأصل في 7 مارس 2016. تم الاطلاع عليه في 14 فبراير 2023 .
  24. ريتشاردسون، مارجوري (1 مايو 1999). "لاري وول، خبير لغة بيرل" . مجلة لينكس . مؤرشف من الأصل في 20 يوليو 2013. تم الاطلاع عليه في 3 يناير 2011 .
  25. شوارتز، راندال ؛ فوي، برايان ؛ فينيكس، توم (16 يونيو 2011). تعلم لغة بيرل . دار نشر أورايلي ميديا، ص 4. ISBN  978-1449313142يُطلق على لغة بيرل أحيانًا اسم "لغة الاستخراج والإبلاغ العملية" ، مع أنها تُوصف أيضًا بـ"قائمة النفايات الانتقائية المرضية"، من بين أوصاف أخرى. في الواقع، هو اختصار عكسي، وليس اختصارًا، لأن لاري وول، مبتكر بيرل، هو من ابتكر الاسم أولًا ثم التوسيع لاحقًا. لهذا السبب لا يُكتب اسم "بيرل" بأحرف كبيرة. لا جدوى من الجدال حول صحة وصف التوسيع: فلاري يؤيد كلا الوصفين.
  26. وول، لاري . "بيرل - مترجم لغة بيرل" . وثائق بيرل 5 الإصدار 12.2 . مؤرشف من الأصل في 1 يوليو 2013. تم الاطلاع عليه في 26 يناير 2011 .
  27. 1 2 شوارتز، راندال ل .؛ فينيكس، توم؛ فوي، برايان (6 ديسمبر 2007). تعلم بيرل، الطبعة الثالثة . دار نشر أورايلي. ISBN 978-0-596-00132-2.
  28. 1 2 "معلومات استخدام وعلامة بيرل كاميل التجارية" . أورايلي ميديا . مؤرشف من الأصل في 25 أبريل 2018. تم الاطلاع عليه في 9 يناير 2011 .
  29. "علامة بيرل التجارية" . مؤسسة بيرل . مؤرشف من الأصل في 3 مايو 2011. تم الاطلاع عليه في 9 يناير 2011 .
  30. جيلمور، دان (25 أكتوبر 1998). "جمهورية بيرل" . شيكاغو تريبيون . مؤرشف من الأصل في 30 أبريل 2011. تم الاطلاع عليه في 10 يناير 2011 .
  31. "شعار جديد للغة بيرل" . تقويم بيرل للميلاد 2024. تم الاطلاع عليه في 9 مايو 2025 .
  32. 1 2 3 كاليتا، جوجال (ديسمبر 2003). حول بيرل: بيرل للطلاب والمحترفين . دار النشر العالمية. ISBN 978-1-58112-550-4.
  33. "ثقافة بيرل" . docstore.mik.ua . تم الاطلاع عليه في 16 مارس 2023 .
  34. هولواي، روث. "بيرل تبلغ من العمر 30 عامًا ومجتمعها لا يزال مزدهرًا" . Opensource.com . تم الاطلاع عليه في 23 يونيو 2023 .
  35. برمجة بيرل، الطبعة الثالثة [ كتاب ] . ISBN 978-0-596-00027-1تم الاطلاع عليه بتاريخ 11 أبريل 2023 .{{cite book}}تم |website=تجاهله ( مساعدة )
  36. "perlhist - سجلات تاريخ لغة بيرل - متصفح بيرلدوك" . perldoc.perl.org . تم الاطلاع عليه بتاريخ 28 يوليو 2023 .
  37. "أرشيف perl.perl5.porters" . perl.org. مؤرشف من الأصل في 1 مايو 2011. تم الاطلاع عليه في 13 يناير 2011 .
  38. 1 2 "perlhist: سجلات تاريخ لغة بيرل" . وثائق بيرل 5 الإصدار 12.2 . perldoc.perl.org. مؤرشف من الأصل في 13 يناير 2011. تم الاطلاع عليه في 21 يناير 2011 .
  39. "بيرل: التعريف والتاريخ والحقائق" . Britannica.com . تم الاطلاع عليه بتاريخ 15 يونيو 2022 .
  40. "CPAN" . CPAN . مؤرشف من الأصل في 3 أكتوبر 2019. تم الاسترجاع في 19 ديسمبر 2022 .
  41. 1 2 "perl5004delta - ما الجديد في perl5.004" . وثائق Perl 5 الإصدار 12.2 . perldoc.perl.org. مؤرشف من الأصل في 27 فبراير 2011. تم الاطلاع عليه في 8 يناير 2011 .
  42. باتواردهان، ناثان؛ سيفر، إيلين؛ سبينهاور، ستيفن (2002). بيرل باختصار، الطبعة الثانية . دار نشر أورايلي ميديا . رقم ISBN 978-0-596-00241-1.
  43. "perl5005delta - ما الجديد في perl5.005" . وثائق Perl 5 الإصدار 12.2 . perldoc.perl.org. مؤرشف من الأصل في 3 فبراير 2011. تم الاطلاع عليه في 21 يناير 2011 .
  44. "مصدر بيرل" . cpan.org . تم الاطلاع عليه بتاريخ 26 نوفمبر 2023 .
  45. "perl56delta - ما الجديد في بيرل الإصدار 5.6.0" . وثائق بيرل 5 الإصدار 12.2 . perldoc.perl.org. مؤرشف من الأصل في 2 فبراير 2011. تم الاطلاع عليه في 21 يناير 2011 .
  46. "perl56delta - ما الجديد في بيرل الإصدار 5.6.x" . وثائق بيرل 5 الإصدار 12.2 . perldoc.perl.org. مؤرشف من الأصل بتاريخ 18 نوفمبر 2010. تم الاطلاع عليه بتاريخ 21 يناير 2011 .
  47. "بيرل | التعريف والتاريخ والحقائق | بريتانيكا" . www.britannica.com . تم الاطلاع عليه بتاريخ 15 يونيو 2022 .
  48. وول، لاري. "نهاية العالم 1: القبيح، والسيئ، والجيد" . مؤرشف من الأصل في 23 نوفمبر 2010. تم الاطلاع عليه في 8 يناير 2011 .
  49. "perl58delta - ما الجديد في بيرل الإصدار 5.8.0" . وثائق بيرل 5 الإصدار 12.2 . perldoc.perl.org. مؤرشف من الأصل في 21 نوفمبر 2010. تم الاطلاع عليه في 21 يناير 2011 .
  50. "خطة للكلاب البج" . دار نشر أورايلي ميديا . 3 مارس 2005. تم الاطلاع عليه في 27 يناير 2011 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  51. تانغ، أودري (21 أبريل 2010). "ردًا على: كيفية تطبيق بيرل 6 في عشر سنوات" . بيرلمونكس. مؤرشف من الأصل في 11 مايو 2011. تم الاطلاع عليه في 3 يناير 2011 .
  52. برودويل، جيف (8 أغسطس 2005)، OSCON 4.4: Inside Ponie، الجسر من Perl 5 إلى Perl 6 ، مدونة O'Reilly ONLamp، مؤرشفة من الأصل في 14 مارس 2012 ، تم استرجاعها في 27 يونيو 2016
  53. فينسنت، جيسي (23 أغسطس 2006)، تم إخراج بوني من الخدمة ، مؤسسة بيرل، مؤرشف من الأصل في 27 يونيو 2009 ، تم استرجاعه في 15 يناير 2019
  54. "perl5100delta - ما الجديد في بيرل 5.10.0" . وثائق بيرل 5 الإصدار 12.2 . perldoc.perl.org. مؤرشف من الأصل في 21 ديسمبر 2010. تم الاطلاع عليه في 8 يناير 2011 .
  55. "perlsyn - صيغة لغة بيرل" . وثائق بيرل 5 الإصدار 12.2 . perldoc.perl.org. مؤرشف من الأصل بتاريخ 26 أغسطس 2013. تم الاطلاع عليه بتاريخ 21 يناير 2011 .
  56. "perl5120delta - ما الجديد في بيرل الإصدار 5.12.0" . وثائق بيرل 5 الإصدار 12.2 . perldoc.perl.org. مؤرشف من الأصل في 4 يناير 2011. تم الاطلاع عليه في 8 يناير 2011 .
  57. "perl5140delta - ما الجديد في بيرل الإصدار 5.14.0 - metacpan.org" . metacpan.org . مؤرشف من الأصل بتاريخ 25 يوليو 2018. تم الاطلاع عليه بتاريخ 22 يوليو 2017 .
  58. 1 2 "perl5160delta - ما الجديد في بيرل الإصدار 5.16.0" . perldoc.perl.org . تم الاطلاع عليه بتاريخ 21 مايو 2012 .
  59. "perl5180delta - ما الجديد في بيرل الإصدار 5.18.0 - لغة برمجة بيرل" . وثائق بيرل 5 الإصدار 18.0 . metacpan.org. مؤرشف من الأصل في 29 أكتوبر 2013. تم الاطلاع عليه في 27 أكتوبر 2013 .
  60. "perl5200delta - ما الجديد في بيرل الإصدار 5.20.0 - لغة برمجة بيرل" . وثائق بيرل 5 الإصدار 20.0 . metacpan.org . تم الاطلاع عليه بتاريخ 27 مايو 2014 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  61. معالم بارزة في نهضة لغة بيرل – برمجة بيرل الحديثة. مؤرشف بتاريخ 27 أكتوبر 2012 في أرشيف الإنترنت (Wayback Machine ). Modernperlbooks.com. تم الاطلاع عليه بتاريخ 17 يوليو 2013.
  62. مقدمة (بيرل الحديثة 2011-2012) مؤرشفة في 28 سبتمبر 2012، على موقع Wayback Machine . Modernperlbooks.com. تم الاطلاع عليها في 17 يوليو 2013.
  63. إصدار Modern Perl 2011-2012 من تأليف chromatic | Onyx Neon Press. مؤرشف بتاريخ 22 ديسمبر 2011 في Wayback Machine . Onyxneon.com. تم الاطلاع عليه بتاريخ 17 يوليو 2013.
  64. "Enlightened Perl" . Enlightened Perl . مؤرشف من الأصل في 5 فبراير 2014. تم الاطلاع عليه في 28 سبتمبر 2012 .
  65. "مؤتمر YAPC::NA 2013 - 3-5 يونيو، أوستن، تكساس" . Yapcna.org. 4 يونيو 2013. مؤرشف من الأصل في 22 يونيو 2013. تم الاطلاع عليه في 11 أبريل 2014 .
  66. ليتل، ستيفان (8 فبراير 2013). "ما هو مو (توضيح) | ستيفان ليتل" . Blogs.perl.org. مؤرشف من الأصل في 19 ديسمبر 2013. تم الاطلاع عليه في 11 أبريل 2014 .
  67. "p2 حول الجرعة" . Perl11.org. 7 فبراير 2004. مؤرشف من الأصل في 24 سبتمبر 2013. تم الاطلاع عليه في 11 أبريل 2014 .
  68. "goccy/gperl 路 GitHub" . GitHub.com. مؤرشف من الأصل في 23 فبراير 2015. تم الاطلاع عليه في 11 أبريل 2014 .
  69. "rperl" . RPerl.org. مؤرشف من الأصل في 18 أكتوبر 2014. تم الاطلاع عليه في 11 أغسطس 2014 .
  70. "بيرل 6" . مشروع بيرل 6. مؤرشف من الأصل في 21 فبراير 2011. تم الاطلاع عليه في 27 فبراير 2011 .
  71. توركينغتون، ناثان. "نص محاضرة لاري" . nntp.perl.org. مؤرشف من الأصل في 1 مايو 2011. تم الاطلاع عليه في 25 يناير 2011 .
  72. "Perl6 - مستقبل لغة Perl" . www.java-samples.com . تم الاطلاع عليه بتاريخ 18 مايو 2021 .
  73. "الوثائق الرسمية لـ Perl 6" . مشروع Perl 6. مؤرشف من الأصل في 31 أغسطس 2009. تم الاطلاع عليه في 25 يناير 2011 .
  74. كون، برادلي م. (يناير 2001). اعتبارات حول نقل لغة بيرل إلى آلة جافا الافتراضية (رسالة ماجستير). جامعة سينسيناتي. مؤرشف من الأصل في 21 مارس 2008. تم الاطلاع عليه في 28 يونيو 2008 .
  75. كروماتيك (2015). بيرل الحديثة . مكتبة براغماتيك. رقم ISBN 978-1-68050-088-2.
  76. "مقارنة ميزات مُجمِّعات لغة بيرل 6" . مؤرشف من الأصل في 11 أغسطس 2017. تم الاطلاع عليه في 28 مارس 2012 .
  77. وورثينجتون، جوناثان (15 يوليو 2013). "أخبار راكودو جي في إم: المزيد من الاختبارات، بالإضافة إلى نماذج أولية لـ Thread و Promise" . 6guts . مؤرشف من الأصل في 5 أكتوبر 2013. تم الاسترجاع في 24 يوليو 2013 .
  78. وورثينجتون، جوناثان (31 مايو 2013). "MoarVM: آلة افتراضية لـ NQP و Rakudo" . 6guts . مؤرشف من الأصل في 9 يوليو 2013. تم الاطلاع عليه في 24 يوليو 2013 .
  79. "rename-lwn" . مؤرشف من الأصل بتاريخ 17 أكتوبر 2019. تم الاطلاع عليه بتاريخ 10 نوفمبر 2019 .
  80. "rakudo/rakudo - GitHub" . GitHub.com. مؤرشف من الأصل في 29 يوليو 2017. تم الاطلاع عليه في 21 سبتمبر 2013 .
  81. ١ ٢ "الإعلان عن بيرل ٧ في مؤتمر بيرل السحابي" . perlfoundation.org. ٢٤ يونيو ٢٠٢٠. مؤرشف من الأصل في ٢٦ يونيو ٢٠٢٠. تم الاطلاع عليه في ٢٤ يونيو ٢٠٢٠ .
  82. 1 2 "الإعلان عن بيرل 7" . perl.com. 24 يونيو 2020. مؤرشف من الأصل في 24 يونيو 2020. تم الاطلاع عليه في 24 يونيو 2020 .
  83. كلارك، نيكولاس (9 مايو 2021). "اجتماع المجلس التوجيهي رقم 019، 6 مايو 2021" . www.nntp.perl.org . مؤرشف من الأصل في 18 مايو 2021. تم الاطلاع عليه في 17 مايو 2021. لا تزال الخطة قائمة على إصدار تحديث لـ Perl 7، ولكن ليس مباشرةً بعد إصدار النسخة 5.34.0. ... لا نعتقد أننا قادرون على توفير [Perl 7] خلال 12 شهرًا. 
  84. الاستعداد لـ Perl 7d . leanpub.com. ٢٤ يونيو ٢٠٢٠. مؤرشف من الأصل في ٢٥ يونيو ٢٠٢٠. تم الاطلاع عليه في ٢٤ يونيو ٢٠٢٠ .
  85. مجلس توجيه بيرل. "ماذا حدث لبيرل 7؟" . blogs.perl.org . تم الاطلاع عليه في 7 يوليو 2022 .
  86. ريتشاردسون، مارجوري. "لاري وول، خبير لغة بيرل | مجلة لينكس" . www.linuxjournal.com . مجلة لينكس . تاريخ الاسترجاع: 16 يناير 2023 .
  87. شوارتز، آلان (ديسمبر 1998). "دليل تعليمي: بيرل، لغة إعادة تنسيق فعالة من الناحية النفسية" . أساليب البحث السلوكي، والأدوات، والحواسيب . 30 (4): 605-609 . doi : 10.3758/BF03209477 . ISSN 0743-3808 . S2CID 61028367 .  
  88. جيلبرت، جيمس جي آر (مارس 2002). "كيف تصبح مبرمجًا مبتدئًا" . مجلة نيتشر للتكنولوجيا الحيوية . 20 (3): 221. doi : 10.1038/nbt0302-221 . ISSN 1087-0156 . S2CID 38728402 .  
  89. ميرفولد، كونور (13 فبراير 2014). "سقوط بيرل، اللغة الأكثر وعدًا على الويب" . فاست كومباني .
  90. وول، لاري. "بيرل - مترجم لغة بيرل 5 - متصفح بيرلدوك" . perldoc.perl.org . تم الاطلاع عليه بتاريخ 24 يونيو 2021 .
  91. وول، لاري (1 مارس 1997). "أين أنت؟" . مجلة لينكس . مؤرشف من الأصل في 9 ديسمبر 2010. تم الاطلاع عليه في 13 مارس 2011 .
  92. "perlfunc - دوال بيرل المدمجة" . وثائق بيرل 5 الإصدار 12.2 . perldoc.perl.org. مؤرشف من الأصل في 6 يناير 2011. تم الاطلاع عليه في 10 يناير 2011 .
  93. ناجبال، د.ب. (2010). تكنولوجيا تصميم المواقع الإلكترونية . الهند: إس. تشاند. ص 700. ISBN  978-8121927635.
  94. "عنوان غير معروف". 10 مايو 1997. يوزنت: 199705101952.MAA00756@wall.org . 
  95. "تحديث المطورين". تحديث مطوري دكتور دوب . 2. ميلر-فريمان: 15. 1995.
  96. 1 2 شوارتز، راندال ل. (1993). تعلم لغة بيرل . أورايلي وشركاؤه. Bibcode : 1993lepe.book.....S .
  97. "perlintro" . وثائق بيرل 5 الإصدار 18.0 . مؤرشفو بيرل 5 وموقع perldoc.perl.org. مؤرشف من الأصل في 9 يناير 2011. تم الاطلاع عليه في 30 يونيو 2013 .
  98. "perlstyle" . وثائق بيرل 5 الإصدار 18.0 . مؤرشفو بيرل 5 وموقع perldoc.perl.org. مؤرشف من الأصل في 26 يونيو 2013. تم الاطلاع عليه في 30 يونيو 2013 .
  99. ١ ٢ "أسئلة وأجوبة حول بيرل ٦" . مشروع بيرل ٦. مؤرشف من الأصل في ١ يوليو ٢٠١٣. تم الاطلاع عليه في ٣٠ يونيو ٢٠١٣ .
  100. 1 2 كروماتيك (31 ديسمبر 2012). "تطبيق بيرل 5 مقابل بيرل 6" . مؤرشف من الأصل في 29 يوليو 2013. تم الاطلاع عليه في 30 يونيو 2013 .
  101. "مواصفات بيرل 6" . مشروع بيرل 6. مؤرشف من الأصل في 2 ديسمبر 2009. تم الاطلاع عليه في 27 يناير 2011 .
  102. "مترجمات بيرل 6" . مشروع بيرل 6. مؤرشف من الأصل في 2 ديسمبر 2009. تم الاطلاع عليه في 27 يناير 2011 .
  103. يمكن الاطلاع على وصف لمفسر لغة بيرل 5 في كتاب برمجة بيرل ، الطبعة الثالثة، الفصل 18. انظر تحديدًا الصفحة 467، التي تُفرّق بدقة بين مرحلتي التشغيل والترجمة من جهة، ووقت التشغيل ووقت الترجمة من جهة أخرى. غالبًا ما يُخلط بين مصطلحي "الوقت" و"المرحلة" في بيرل.
  104. أبوين، خوسيه م.؛ بيشيل، خوان س.؛ بينا، توماس ف.؛ غامالو، بابلو؛ غارسيا، ماركوس (2014). "بيرلدوب: تنفيذ فعال لبرامج بيرل النصية على مجموعات هادوب". المؤتمر الدولي لهندسة الكهرباء والإلكترونيات (IEEE) حول البيانات الضخمة (البيانات الضخمة) لعام 2014. IEEE. الصفحات 766-771 . doi : 10.1109/BigData.2014.7004303 . ISBN  978-1-4799-5666-1.
  105. "perlguts - مقدمة إلى واجهة برمجة تطبيقات بيرل - متصفح بيرلدوك" . perldoc.perl.org . تم الاطلاع عليه بتاريخ 24 يناير 2022 .
  106. شوارتز، راندال . "حول تحليل لغة بيرل" . مؤرشف من الأصل في 27 سبتمبر 2007. تم الاطلاع عليه في 3 يناير 2007 .
  107. أبوين، خوسيه م.؛ بيشيل، خوان س.؛ بينا، توماس ف.؛ غامالو، بابلو؛ غارسيا، ماركوس (2014). "بيرلدوب: تنفيذ فعال لبرامج بيرل النصية على مجموعات هادوب". المؤتمر الدولي لهندسة الكهرباء والإلكترونيات (IEEE) حول البيانات الضخمة (البيانات الضخمة) لعام 2014. IEEE. الصفحات 766-771 . doi : 10.1109/BigData.2014.7004303 . ISBN  978-1-4799-5666-1.
  108. "مجلة بيرل #19/9.26" (ملف PDF) . دار نشر أورايلي ميديا . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 27 فبراير 2020. تم الاطلاع عليه بتاريخ 4 فبراير 2011 .
  109. كيجلر، جيفري (7 أكتوبر 2011). "بيرل والتحليل 11: هل جميع برامج بيرل قابلة للتحليل؟" . تم الاطلاع عليه في 25 أكتوبر 2022. ... يبدو أننا لا نتخلى عن أي شيء على الإطلاق. لم يتمكن أحد من إثبات أي عيب عملي.
  110. كينيدي، آدم (2006). "PPI - تحليل لغة بيرل ومعالجتها (بدون بيرل)" . CPAN . مؤرشف من الأصل في 3 سبتمبر 2013. تم الاطلاع عليه في 16 سبتمبر 2013 .
  111. "نظرية رايس". مجلة بيرل للمراجعة . 4 (3): 23-29 . صيف 2008.و "لغة بيرل غير قابلة للحسم". مجلة بيرل . 5 : 7-11 . خريف 2008.متاح على الإنترنت على موقع كيغلر، جيفري. "بيرل وعدم الحسم" . مؤرشف من الأصل في 17 أغسطس 2009. تم الاطلاع عليه في 4 يناير 2009 .
  112. هيتانييمي، جاركو (1998). "منافذ بيرل (توزيعات ثنائية)" . CPAN.org. مؤرشف من الأصل في 18 أبريل 2006. تم الاطلاع عليه في 16 أبريل 2006 .
  113. "صفحات ماك بيرل" . برايم تايم فري وير. 1997. مؤرشف من الأصل في 18 يناير 2006. تم الاطلاع عليه في 18 يناير 2006 .
  114. "Perl Ports (Binary Distributions)" . CPAN . مؤرشف من الأصل في 18 أبريل 2006. تم الاطلاع عليه في 27 يناير 2011 .
  115. "ActivePerl هي لغة Perl لأنظمة Windows وMac وLinux وAIX وHP-UX وSolaris" . شركة ActiveState Software. مؤرشفة من الأصل بتاريخ 31 مارس 2016. تم الاطلاع عليها بتاريخ 9 يناير 2011 .
  116. "استخدام PPM" . برنامج ActiveState . مؤرشف من الأصل في 27 أغسطس 2010. تم الاطلاع عليه في 9 يناير 2011 .
  117. كرين، دانا (23 يوليو 2019). "وداعًا لإدارة المشاريع، مرحبًا بأداة ستيت" . Activestate.com . مؤرشف من الأصل في 28 يوليو 2020. تم الاطلاع عليه في 16 أبريل 2020 .
  118. "أليوث: لعبة قياس أداء لغات البرمجة: معلومات المشروع" . أليوث . مؤرشف من الأصل في 25 مارس 2013. تم الاطلاع عليه في 13 يناير 2011 .
  119. "ما هي أسرع البرامج؟" . لعبة قياس أداء لغات البرمجة . أليوث . مؤرشف من الأصل في 17 مايو 2013. تم الاطلاع عليه في 13 يناير 2011 .
  120. ليروي، جان لويس (1 ديسمبر 2005). "بداية في الوقت المناسب" . أورايلي. مؤرشف من الأصل في 13 يونيو 2006. تم الاسترجاع في 22 مايو 2006 .
  121. بيتي، مالكولم وإيناش أدريان (2003). "B::Bytecode: واجهة برمجة تطبيقات بايت كود لمترجم بيرل" . CPAN . مؤرشف من الأصل في 30 مارس 2021. تم الاطلاع عليه في 16 سبتمبر 2013 .
  122. شوارتز، راندال؛ فوي، برايان؛ فينيكس، توم (23 يونيو 2011). تعلم لغة بيرل . دار نشر أورايلي ميديا. رقم ISBN 978-1-4493-0358-7.
  123. شتاين، لينكولن؛ ماك إيتشيرن، دوغ (1999). كتابة وحدات أباتشي باستخدام بيرل وسي: واجهة برمجة تطبيقات أباتشي وMod_perl . دار نشر أورايلي ميديا. رقم ISBN 978-1-56592-567-0.
  124. بيكمان، ستاس؛ شوليه، إريك (2003). Mod_perl العملي . دار نشر أورايلي ميديا. رقم ISBN 978-0-596-00227-5.
  125. إنجرسون، برايان. "مضمن - metacpan.org" . CPAN . مؤرشف من الأصل في 13 يونيو 2013. تم الاسترجاع في 26 يناير 2011 .
  126. جيلمور، دبليو جيه (2010). مقدمة في PHP وMySQL: من المبتدئ إلى المحترف، الطبعة الرابعة . دار نشر Apress. ص 484. ISBN  978-1-4302-3114-1.
  127. "مكتب مساعدة IMDb: ما البرامج/الأجهزة التي تستخدمها لتشغيل الموقع؟" . قاعدة بيانات الأفلام على الإنترنت . مؤرشف من الأصل في 9 مارس 2017. تم الاطلاع عليه في 12 فبراير 2011 .
  128. يُعالج محرك البحث DuckDuckGo كمية هائلة من عمليات البحث، تصل إلى 4.5 مليون عملية بحث يوميًا. https://duckduckgo.com/traffic.html مؤرشف بتاريخ 15 فبراير 2012 في أرشيف مكتبة الكونغرس على الإنترنت .
  129. يستخدم محرك البحث DuckDuckGo لغة Perl https://web.archive.org/web/20101231135106/http://www.gabrielweinberg.com/blog/2009/03/duck-duck-go-architecture.html
  130. "أسئلة وأجوبة حول بيرل" . مؤرشف من الأصل في 6 أغسطس 2019. تم الاطلاع عليه في 6 أغسطس 2019. تُستخدم لغة بيرل على نطاق واسع في دبيان . فبالإضافة إلى كتابة بعض الوظائف الأساسية بلغة بيرل، يوجد أكثر من 700 حزمة في الإصدار غير المستقر تحمل كلمة "بيرل" في اسمها (مارس 2004).
  131. "كتب بيرل - كتاب: معالجة البيانات باستخدام بيرل" . Perl.org . مؤرشف من الأصل في 7 سبتمبر 2011. تم الاطلاع عليه في 30 ديسمبر 2010 .
  132. "perlport - كتابة بيرل محمولة - متصفح Perldoc" . perldoc.perl.org . تم الاطلاع عليه في 29 مايو 2026 .
  133. ديكارت، أليغيتور؛ بانس، تيم (2000). برمجة واجهة برمجة تطبيقات قواعد البيانات بيرل : [ برمجة قواعد البيانات باستخدام بيرل ] ( الطبعة الأولى). بكين [ua]: أورايلي. ISBN   978-1-56592-699-8.
  134. "برمجة بيرل - مبادئ لغات البرمجة" . sites.google.com . مؤرشف من الأصل في 8 أكتوبر 2020. تم الاطلاع عليه في 18 مايو 2021 .
  135. بانس، تيم؛ ديكارت، أليغيتور (4 فبراير 2000). برمجة قاعدة بيانات بيرل: برمجة قواعد البيانات باستخدام بيرل . أورايلي ميديا، إنك. ISBN 978-1-4493-1536-8.
  136. بيكمان، ستاس. "العمل بكفاءة مع قواعد البيانات باستخدام mod_perl" . مؤرشف من الأصل في 22 أغسطس 2007. تم الاطلاع عليه في 1 سبتمبر 2007 .
  137. باتشيف، ساشا (10 أبريل 2007). فهم بنية MySQL الداخلية: اكتشاف قاعدة بيانات رائعة وتحسينها . دار نشر أورايلي ميديا. رقم ISBN 978-0-596-55280-0.
  138. "Class::DBI - Simple Database Abstraction - metacpan.org" . metacpan.org . مؤرشف من الأصل في 6 أغسطس 2020. تم الاطلاع عليه في 8 أبريل 2020 .
  139. "Rose::DB::Object - أداة ربط كائنات علائقية (ORM) قابلة للتوسيع وعالية الأداء. - metacpan.org" . metacpan.org . مؤرشف من الأصل في 6 أغسطس 2020. تم الاطلاع عليه في 8 أبريل 2020 .
  140. "مرجع مطور استعلامات T-SQL" . pdfpremiumfree.com . تم الاطلاع عليه بتاريخ 18 مايو 2021 .
  141. وول، لاري (22 مايو 2014). "ثقافة بيرل (المعروفة أيضًا باسم الولاية الأولى من أونيون)" . مؤرشف من الأصل في 22 مايو 2014. تم الاسترجاع في 22 مايو 2014 .
  142. وول، لاري . "الحالة الثانية للبصل" . مؤرشف من الأصل في 17 يوليو 2012. تم الاسترجاع في 12 أكتوبر 2012 .(ابحث عن كلمة "كنيسة")
  143. شوارتز، راندال ل. (2 مايو 1999). "من هو مجرد مخترق بيرل آخر؟" . مجموعة الأخبار : comp.lang.perl.misc . يوزنت: m1hfpvh2jq.fsf@halfdome.holdit.com . تاريخ الاسترجاع: 5 ديسمبر 2014 .  {{cite newsgroup}}: CS1 maint: deprecated archiveal service ( link )
  144. شوارتز، راندال (31 مارس 2005). "ياف الكنسي" . بيرلمونكس. مؤرشف من الأصل في 22 يوليو 2011. تم الاسترجاع في 16 مايو 2011 .
  145. بيكون، جريج (28 مايو 1999). "رد: زيادة قيمة في شريحة" . مجموعة الأخبار : comp.lang.perl.misc . يوزنت: 7imnti$mjh$1@info2.uah.edu . مؤرشف من الأصل في 7 يوليو 2011. تم الاسترجاع في 12 يوليو 2011 .  
  146. باك، آدم. "RSA في 5 أسطر من لغة بيرل" . مؤرشف من الأصل في 19 يناير 2011. تم الاطلاع عليه في 10 يناير 2011 .
  147. "كود غولف: ما هو كود غولف؟" . 29 درجة. 2007. مؤرشف من الأصل في 13 يناير 2012. تم الاسترجاع في 26 نوفمبر 2018 .
  148. غالو، فيليكس (2003). "مسابقة بيرل المُبهمة رقم صفر" (ملف PDF) . في جون أوروانت (محرر). الألعاب، والتسلية، وثقافة بيرل: أفضل ما في مجلة بيرل . دار نشر أورايلي ميديا. مؤرشف من الأصل (ملف PDF) بتاريخ 22 نوفمبر 2009. تم الاطلاع عليه بتاريخ 12 يناير 2011 .
  149. "شعر بيرل" . بيرلمونكس. مؤرشف من الأصل في 27 سبتمبر 2007. تم الاطلاع عليه في 27 يناير 2011 .
  150. 1 2 كريستيانسن، توم؛ دي فوي، برايان؛ وول، لاري؛ أوروانت، جون (2012). برمجة بيرل: قوة لا مثيل لها لمعالجة النصوص وكتابة البرامج النصية . أورايلي ميديا، إنك . ISBN 978-1-4493-2146-8تم الاطلاع عليه بتاريخ 21 ديسمبر 2025 .
  151. آرلو، جيم (2003). أنماط المؤسسات وهندسة النماذج: بناء برمجيات أفضل باستخدام أنماط النماذج الأولية ولغة النمذجة الموحدة (UML ). أديسون-ويسلي بروفيشنال. رقم ISBN 978-0-1327-0253-9تم الاطلاع عليه بتاريخ 21 ديسمبر 2025 .
  152. كريستيانسن، توم؛ فوي، برايان د؛ وول، لاري؛ أوروانت، جون (17 فبراير 2012). برمجة بيرل: قوة لا مثيل لها لمعالجة النصوص وكتابة البرامج النصية . دار نشر أورايلي ميديا، ص 754. ISBN  978-1-4493-2146-8.
  153. بيرس، كلينتون (2002). قاموس مطوري بيرل . أرشيف الإنترنت. إنديانابوليس، إنديانا : سامز. الصفحات 13-14 . ISBN   978-0-672-32067-5.
  154. 1 2 سكوت، بيتر (2004). بيرل ميديك [ مصدر إلكتروني ] : تحويل الشيفرة القديمة . أرشيف الإنترنت. بوسطن : أديسون ويسلي بروفيشنال. ص 287-288 . ISBN    978-0-201-79526-4.{{cite book}}: CS1 maint: publisher location ( link )
  155. كريستيانسن، توم؛ فوي، برايان د؛ وول، لاري؛ أوروانت، جون (17 فبراير 2012). برمجة بيرل: قوة لا مثيل لها لمعالجة النصوص وكتابة البرامج النصية . دار نشر أورايلي ميديا، ص 754. ISBN  978-1-4493-2146-8.
  156. كريستيانسن، توم (2012). برمجة بيرل: قوة لا مثيل لها لمعالجة النصوص وكتابة البرامج النصية . دار نشر أورايلي ميديا. رقم ISBN 978-1-4493-2146-8تم الاطلاع عليه بتاريخ 21 ديسمبر 2025 .
  157. ماهر، تيم (2007). بيرل المصغرة : لمستخدمي يونكس ولينكس . أرشيف الإنترنت. غرينتش، كونيتيكت : مانينغ. ص 440. ISBN    978-1-932394-50-4.
  158. مارك لوبلان (2007). بيرل لاستكشاف الحمض النووي . أرشيف الإنترنت. مطبعة جامعة أكسفورد. ص 292. ISBN  978-0-19-530589-0.
  159. 1 2 هيميل، أرمين (سبتمبر 2001). "Linux Samenscholing: YAPC::Europe 2.0.01" . مجلة لينكس . 2 (5): 56.
  160. "وقائع مؤتمر YAPC::Europe 2012 : [ المؤتمر الأوروبي الرابع عشر للغة بيرل ؛ فرانكفورت، 20-22 أغسطس 2012 ] | WorldCat.org" . search.worldcat.org . تاريخ الاسترجاع: 23 ديسمبر 2025 .  

للمزيد من القراءة

  • كتاب "تعلم لغة بيرل" (الطبعة السادسة، 2011)، دار نشر أورايلي. مقدمة للمبتدئين في لغة بيرل.
  • كتاب "بداية بيرل" (الطبعة الأولى، 2012)، دار نشر Wrox. دليل تعليمي للمبتدئين في البرمجة أو لمن هم جدد في لغة بيرل.
  • تمت أرشفة كتاب "بيرل الحديثة" في 22 ديسمبر 2011 على موقع Wayback Machine ، الإصدار الثاني (2012)، دار نشر Onyx Neon. يصف الكتاب تقنيات برمجة بيرل الحديثة.
  • برمجة بيرل، الطبعة الرابعة (2012)، دار نشر أورايلي. المرجع النهائي للغة بيرل.
  • البرمجة الفعالة بلغة بيرل، الطبعة الثانية (2010)، دار نشر أديسون-ويسلي. دليل من المستوى المتوسط ​​إلى المتقدم لكتابة لغة بيرل بأسلوبها الاصطلاحي.
  • كتاب طبخ بيرل ، رقم ISBN 0-596-00313-7أمثلة عملية على برمجة بيرل.
  • دومينوس، مارك جيسون (2005). بيرل من الرتبة العليا . مورغان كوفمان. ISBN 978-1-55860-701-9.تقنيات البرمجة الوظيفية في لغة بيرل.