Perl (פרל) היא שפת תכנות דינמית שתוכננה במקור על ידי לארי וול. השם Perl הוצא מאוחר יותר כראשי תיבות של "Practical Extraction and Report Language". קוד המקור של המפרש וסביבת הריצה מופץ ברישיון חופשי (GPL ו-Artistic License).
Perl היא שפת תכנות למטרות כלליות, שנוצרה במיוחד לעיבוד טקסט. עיקר השימוש שלה כלל ניהול מערכות, פיתוח אתרי אינטרנט, עבודה ברשת ופיתוח ממשקי משתמש גרפיים. המטרה העיצובית שלה הייתה פרקטיות, לשים דגש על שימושיות ויעילות, במקום על מינימליזם או יופי תחבירי.
השפה תומכת בתכנות פרוצדורלי ובתכנות מונחה עצמים (אובייקטים). היא כוללת יכולות חזקות לעיבוד מחרוזות וביטויים רגולריים (כללים לחיפוש ותבניות בטקסט), ויש לה מאגר גדול של מודולים צד-שלישי להרחבת היכולות.
לארי וול החל בפיתוח ב-1987 ושחרר את Perl 1.0 בדצמבר 1987. במהלך השנים נוספו יכולות משמעותיות: Perl 2 (1988) שיפרה את המנוע של הביטויים הרגולריים; Perl 3 (1989) הוסיפה טיפול במידע בינארי.
ב-1991 פורסם הספר "Programming Perl" (הכרוך עם גמל), שהפך לתיעוד דה-פקטו של השפה. Perl 4 נשמרה בגרסת תחזוקה עד 1993, ואז הושק פיתוח Perl 5.
Perl 5 שוחררה ב-17 באוקטובר 1994. היא כללה שכתוב גדול של המפרש והוסיפה תכונות חשובות: אובייקטים, מצביעים (references, קישורים למבני נתונים), מרחבי-שמות ומודולים. מודולים מאפשרים להרחיב את השפה בלי לשנות את ליבת המפרש.
באוקטובר 1995 הוקמה CPAN (Comprehensive Perl Archive Network), רשת שאוגרת ומפיצה מודולים, קוד ותיעוד. נכון ל-2021, Perl 5 מתוחזקת ותומכת ביוניקוד. הגרסה היציבה האחרונה אז הייתה 5.32.1. ביוני 2020 הוכרזה Perl 7 כהמשך ל-Perl 5 עם ברירות מחדל שונות.
הגרסאות הראשונות של Perl היו בסביבת יוניקס, וכיום יש לה סביבת ריצה למערכות הפעלה רבות. Perl עובדת כמפרש (interpreter, תוכנה שמריצה קוד ישירות), ולכן תוכניות בפרל נקראות תסריטים (scripts).
בשנת 2001 החלו ניסיונות לשכתוב גדול בשם Perl 6. במקום מימוש יחיד נוצר אוסף של הגדרות ותיעוד. בסופו של דבר העבודה התארכה, ומימושים יציבים החלו להופיע רק עשור לאחר מכן. ב-2019 שונה שם הפרויקט ל-Raku כדי להבחין בינו לבין Perl 5.
תחביר Perl מזכיר במקצת את C (כמו שימוש בסוגריים מסולסלים), אך שואב השפעות רבות מסביבת ה-Unix ו-AWK. יש לה גמישות תחבירית גדולה.
ב-Perl יש שלושה סוגי מבני נתונים עיקריים: סקלר, מערך ואש.
- סקלר (scalar) מחזיק ערך אחד, למשל מספר או מחרוזת. שמות סקלרים מתחילים בסימן $.
- מערך (array) מחזיק רשימה מסודרת של ערכים. שמות מערכים מתחילים בסימן @.
- אש (hash) הוא מערך אסוציאטיבי: ערכים ממוינים לפי מפתחות. שמות האש מתחילים בסימן %.
התו שמופיע בתחילת שם המשתנה נקרא סיג'יל (sigil). למשל $name = "Larry"; או @beatles = ("John","Paul","George","Ringo");. גישה לאיבר במערך משתמשת ב-$ כי התוצאה היא סקלר, למשל $beatles[2] מדפיס "George".
ניתן ליצור משתנים ללא הכרזה תחילה, אך מצב strict מכתיב הצהרת משתנים בעזרת my, וזה עוזר למנוע שגיאות:
use strict;
my $number = 19;
בנוסף קיימים מצביעים (references) שמאפשרים קישורים למבנים אחרים.
קוד Perl יכול לטעון מודולים בזמן ריצה ולהריץ מחרוזות כקוד. מאז Perl 5 יש תמיכה חלקית ב-OO: אובייקט הוא מצביע שמקבל blessing (פעולה ששייכת אותו למחלקה). קיימת ירושה של פונקציות.
קהילת Perl נוהגת לומר "יש יותר מדרך אחת לעשות את זה" (TIMTOWTDI). השפה מאפשרת סגנונות קוד שונים, מ-C ועד סגנונות ייחודיים של Perl.
החוזק המרכזי של Perl הוא מניפולציה של מחרוזות וקבצים. היא מצויה בשימוש בתחומים כמו ביו-אינפורמטיקה ובניתוח נתונים. בשנות ה-90 Perl הייתה פופולרית מאוד בצד השרת לאתרי אינטרנט, אך עם הזמן הופרו שפות אחרות את מקומה.
חיסרון בולט הוא שקוד Perl עלול להיות קשה לקריאה ולתחזוקה, במיוחד אם לא שמו דגש על בהירות בתחביר. בגלל הגמישות והקיצורים של השפה נולדו בדיחות על השם Perl, כולל פרשנויות הומוריסטיות.
Perl (פרל) היא שפת תכנות שיצר לארי וול. השם נובע מ"Practical Extraction and Report Language".
Perl טובה בעבודה עם טקסטים. אפשר להשתמש בה כדי להריץ פקודות במחשב, לבנות אתרי אינטרנט ולקרוא קבצים. יש לה הרבה תוכנות מוכנות שנקראות מודולים.
לארי וול התחיל ב-1987. ב-1994 יצאה Perl 5, עם תכונות חדשות כמו אובייקטים ומודולים. ב-1995 הוקם אתר גדול שמאגד מודולים בשם CPAN.
ב-Perl יש סוגים של נתונים: סקלר (מספר או מילה) שמתחיל ב-$, מערך (רשימה) שמתחיל ב-@, ואש (מילון מפתחות) שמתחיל ב-%.
דוגמה: @beatles = ("John","Paul","George","Ringo");
$beatles[2] יראה "George".
ניסו ליצור גרסה חדשה בשם Perl 6. בסוף שינו לה את השם ל-Raku כדי להבדיל אותה מ-Perl 5.
Perl משמשת הרבה לעיבוד טקסטים ולמחקר מדעי כמו ביו-אינפורמטיקה. בעבר היא הייתה נפוצה מאוד באינטרנט.
שים לב: Perl גמישה מאוד, וזה מקל על כתיבה מהירה. אך קוד שלא נכתב בצורה ברורה יכול להיות קשה לקריאה.
תגובות גולשים