השפה תוכננה להיות ממומשת מעל המכונה הווירטואלית Parrot. וול קיווה שעד מהרה עיקר הפיתוח של פרל יעבור לפרל 6, אולם בפועל הפיתוח של השפה התמהמה. רק לקראת 2010 החלו להופיע מימושים עובדים.
חלק מהשיפורים שנוספו בשפה נכנסו גם לגרסה 5.12 של פרל.
באוקטובר 2019 שונה שם השפה מפרל 6 ל-Raku, גם כדי להבהיר שזו שפה ממשפחת השפות של פרל, שלא תחליף פרל (כפי שתוכנן במקור) אלא תתקיים לצידה.
מבנה.
תוכנית בשפה דומה במידת מה לתוכנית בשפת התכנות C (לדוגמה, שימוש בסוגריים מסולסלים – codice_1), אך עם זאת ישנם הבדלים רבים, שנוצרו בהשפעת התחביר של Unix Shell, AWK ועוד.
משתנים.
ב-Perl שלושה סוגי נתונים עיקריים:
המערכים דינמיים וניתן להוסיף אליהם ולהסיר מהם איברים.
שמות המשתנים מתחילים בתו שמגדיר את הסוג שלהם, התו מכונה סיג'יל (sigil). שם משתנה סקלר מתחיל תמיד בסימן דולר (codice_2), שנראה כמו האות s מהמילה scalar, למשל:
$name = "Larry";
$index = 45;
שם משתנה מערך מתחיל תמיד בסימן codice_3 שנראה כמו האות a מהמילה array, למשל:
@beatles = ("John", "Paul", "George", "Ringo");
print $beatles[2];
קטע הקוד האחרון יוצר משתנה מערך בשם codice_4 המחזיק ארבע מחרוזות ומדפיס את איבר מספר 2; מכיוון שהספירה מתחילה מ-0, יודפס George. התייחסות לסקלר שהוא חלק ממערך נעשית עם סימן codice_2 ולא סימן codice_3, מכיוון שמדובר בסקלר.
כשמדובר ברשימה כמו בדוגמה למעלה (שהתאים מכילים מילים נפרדות ללא רווחים), אפשר לשם קיצור להשתמש ב-qw שזה קיצור של quote words (מירכאות על מילים). דוגמה:
@beatles = qw( John Paul George Ringo );
print $beatles[2];
יוציא את אותו פלט.
שם משתנה האש מתחיל תמיד ב-codice_7, שנראה כמו זוג, למשל:
%beatles = ("Guitar" =&gt; "John",
"Bass" =&gt; "Paul",
"Sitar" =&gt; "George",
"Drums" =&gt; "Ringo");
print $beatles{"Bass"};
קטע הקוד האחרון יוצר משתנה האש בשם codice_8 המחזיק ארבעה מפתחות (שמות של כלי נגינה) וארבעה שמות ולאחר מכן מדפיס את הערך שנמצא במפתח Bass, כלומר Paul.
ב-Perl אין מניעה שלמשתנים מסוגים שונים יהיה אותו שם, כי הם תמיד נכתבים עם הסיג'יל; כלומר באותו קטע יכול להיות סקלר בשם codice_9, מערך בשם codice_4 והאש בשם codice_8. האופרטור codice_12 שווה ערך לפסיק; הוא נועד לשיפור הקריאות.
המשתנים לא חייבים להיות מוגדרים מראש והם נוצרים אוטומטית עם השמה ראשונה. עם זאת, כדי למנוע שגיאות אפשר להריץ את התוכנה במצב strict אשר מחייב הגדרת משתנים על ידי הפקודה codice_13:
use strict;
my $number = 19;
$name = "Audrey";
תוכנית זו לא תעבור הידור ולא תגיע כלל לכדי ריצה, מכיוון שהמשתנה codice_14 לא הוגדר עם codice_13.
ניתן גם להתייחס למצביע (reference) לכל אחד ממבנים אלו על ידי סימן codice_16.
מודולים ומחלקות.
קוד ב-Perl יכול להשתמש במודולים מוכנים מראש, אותם ניתן לטעון בזמן ריצה. כמו כן, ניתן להשתמש במחרוזות כקטעי קוד המפורשים בזמן ריצה.
החל מגרסה 5 (1994), תומכת Perl חלקית גם בתכנות מונחה עצמים, וזאת על ידי אפשרות להפוך מודול לסוג של מחלקה. אובייקט הוא מצביע (בדרך כלל מצביע למערך אסוציאטיבי) ש"בורך" (על ידי הפעולה bless) להיות שייך למחלקה. יש הורשה, אולם רק של הפעולות, ולא של תוכן האובייקט.
תוכניות לדוגמה.
בקהילת פרל מפורסמת האמירה "יש יותר מדרך אחת לעשות את זה" (ידועה גם בראשי התיבות באנגלית: TIMTOWTDI – There Is More Than One Way To Do It). השפה מאפשרת סגנונות כתיבה שונים. אפשר לכתוב במסגנון דומה מאוד לזה של שפת C, אך אפשר לכתוב בדרכים שונות לחלוטין.
דוגמה לקוד שדומה לקוד בשפת C: סיכום כל אבריו החיוביים של מערך מספרים (input_arr). התחביר דומה מאוד לזה של C למעט ה-sigil שבתחילת מספר ובדיקת אורך המערך. בניגוד למומלץ קוד זה לא עושה שימוש ב-"my".
$sum = 0;
for ($a=0; $a &lt;= $#input_arr; $a++) {
if ($input_arr[$a] &gt; 0) {
$sum += $input_arr[$a];
דוגמת לקוד בסגנון שונה: בהינתן מערך של כלי נגינה, נדפיס מי מאנשי להקת החיפושיות מנגן באיזה כלי (ואם לא: לא נדפיס בכלל). שימו לב לשימוש ב-$_ כמשתנה הלולאה.
my @instruments = ('Sitar', 'Violin', 'Bass', 'Drums', 'Flute', 'Bass', 'Guitar');
my @beatles_instruments = ();
foreach (@instruments) {
next unless (exists $beatles{$_});
push @beatles_instruments, $_;
foreach (sort @beatles_instruments) {
print "$beatles{$_} plays $_.\n";
שימושים עיקריים.
הצד החזק של Perl הוא מניפולציה של מחרוזות, הן מהזנה מהקלט הסטנדרטי והן מקבצים. בשל כך, השימוש ב-Perl מקובל בתחומים מסוימים בכלכלה ובביולוגיה, ובמיוחד בביו-אינפורמטיקה.
את היכולות שמציעה Perl כשפה ניתן להרחיב באמצעות מספר עצום של מודולים, רבים מהם זמינים בחינם באתר CPAN.
החל באמצע שנות ה-90 של המאה ה-20, ועד תחילת העשור הראשון של המאה ה-21 הייתה Perl אחת השפות הפופולריות ביותר כתוכנת צד שרת שמפעילה אתרי אינטרנט, אך בהדרגה הוחלפה על ידי שפות אחרות כמו PHP, ASP, ו-Java. בתחילת העשור השני של המאה ה-21 עדיין נעשה שימוש נרחב ב-Perl להפעלת אתרי אינטרנט, אך היא כבר אינה אחת השפות המובילות למימושים אלו.
אחד מחסרונותיה העיקריים של שפת Perl הוא הקושי בקריאת תוכנית הכתובה בה, ובפרט תחזוקתה, אם התוכנית לא תוכננה מראש לקריאות מרבית. הפוטנציאל הרב לחוסר קריאות של תוכנית Perl נובע מהפעולות הנסתרות וקיצורי הדרך הרבים הנכללים בשפה. קיצורי דרך אלו מקלים מאוד את הפיתוח המהיר של תוכנית בשפת Perl, אך מקשים על אילו שאינם שולטים ברזי השפה להבין את תפקוד התוכנית מקריאה, ובמיוחד אם בעת הכתיבה לא הושם דגש על קריאות. בשל חוסר קריאות לכאורה זה, יש המפרשים בהומור את השם Perl כראשי תיבות של "Pathologically Eclectic Rubbish Lister".
דגל לאומי
דגל מדינה או דגל לאומי הוא דגל המסמל או מייצג לאום. לרוב הוא דגל רשמי של מדינה.
דגל המדינה מונף לרוב במוסדות ציבוריים, כמו בתי ספר ובתי משפט, וכמו כן בטקסים ממלכתיים ובחגים מסוימים, כמו בימי עצמאות. ספינות מניפות את הדגל הלאומי שלהן על מנת לסמל לאיזו מדינה הן שייכות.
סמלי הדגלים.
לרוב מורכב הדגל מסמלים וצורות המסמלים את ההיסטוריה של המדינה, את האידאולוגיה העומדת מאחוריה, את המוטו שלה וכן הלאה. לדוגמה, בדגל ישראל מופיעים סמלים יהודיים כמו מגן דוד וטלית, ובדגל ארצות הברית ישנם 50 כוכבים, המסמלים את 50 המדינות של ארצות הברית. לעיתים דומים דגלים לאומיים אחד לשני - דגל מונקו ודגלי אינדונזיה ופולין, דגל אירלנד ודגל חוף השנהב, דגל ניז'ר ודגל הודו, דגל רומניה ודגל צ'אד זהים זה לזה, דגל ליכטנשטיין ודגל האיטי זהים חוץ מהכתר שבצד הימני העליון של דגל ליכטנשטיין, ואילו דגל הולנד ודגל לוקסמבורג נבדלים זה מזה רק בשוני קל בגוון.
אזרחי המדינה רוחשים כבוד רב לדגל הלאום: כאשר דגל לאומי מונף יחד עם דגלים אחרים, הוא יורם ראשון ויורד אחרון. כאשר הוא מונף בין דגלים של מדינות אחרות, הוא לרוב יהיה במרכז. תליית דגל לאומי הפוך היא לרוב סימן מצוקה. הורדת הדגל לחצי התורן נחשבת לסימן של אבל לאומי. נהוג להקפיד כי הדגל לא יגע בקרקע. עם זאת, שריפת דגל לאום היא מעשה מחאה: בישראל היא אסורה ונחשבת לפגיעה בסמלי השלטון ואילו בארצות הברית היא חוקית ואפילו לצופים בארצות הברית יש דרכים לשרוף את הדגל.
צבעי הדגלים.
רוב דגלי העולם מורכבים משלושה צבעיםדרוש מקור, כאשר הרכב הצבעים הנפוצים ביותרדרוש מקור הם: כחול, לבן ואדום, צבעי המהפכה הצרפתית (הטריקולור) אשר מסמלים את הדמוקרטיה. צבעים אלה מופיעים בדגלי: צרפת, ארצות הברית, רוסיה, סרביה, הולנד, קרואטיה, סלובניה, סלובקיה, צ'ילה, בריטניה ועוד.
בכל דגלי העולם למעט בדגל ג'מייקה מופיע לפחות אחד משלושת הצבעים הללו.
הצבע האדום נמצא בדגלים רבים ומסמל בדרך כלל את המאבק לעצמאות, סימן לדם.
ישנם דגלים שהשפיעו על עיצובים של דגלי מדינות אחרות, כגון:
דגלים אזרחיים.
דגל אזרחי הוא גרסה של הדגל הלאומי אשר מיועד להנפה על ידי אזרחים או על מבנים וכלי רכב לא ממשלתיים. השימוש בדגלים אזרחיים היה נפוץ בעבר כאשר היה צורך לסמן מבנים או ספינות אשר לא היו בשימוש הצבא. בכמה מדינות הדגל האזרחי זהה לדגל המלחמה או המדינה אך ללא שלט האצולה או סמל המדינה כגון דגל ספרד או דגל פרו.
דגלים צבאיים.
דגל צבאי הוא גרסה של הדגל הלאומי, המונפת בעיתות מלחמה. למספר מדינות, כגון בריטניה או פרו ישנו דגל מיוחד אשר מונף על ידי הכוחות המזוינים תחת דגל המדינה.
צבאות אחרים (כגון צבא ארצות הברית) עושים שימוש בדגלם הלאומי כדגל הצבא, ואילו הצבא הפיליפיני מניף את דגל הלאום ובזמן מלחמה, הדגל מונף בצורה הפוכה - זהו המקרה היחידי בו דגל המונף הפוך, מסמל מלחמה (ולא אבל לאומי).
גרסאות גדולות של דגל המלחמה המונפות על ספינות מלחמה, אלו הם ניסי הקרב.
דדי צוקר
דוד ("דדי") צוקר (נולד ב-11 בספטמבר 1948, חיפה) הוא ממקימי "שלום עכשיו", ומייסדו של ארגון "בצלם", חבר בכנסות ה-11 עד ה-14 מטעם מפלגות רצ ומרצ.
ביוגרפיה.
דדי (דוד) צוקר נולד בחיפה ב-1948, ילדם השלישי של שמחה וציפורה צוקר.