אופרטורים#
מצאי האופרטורים של Perl גדול אך המבנה סדיר. האופרטורים מתקבצים למשפחות בודדות - אריתמטיקה, השוואה, לוגיקה, ביטים, איגוד regex, השמה - וכמה מנגנונים חד־פעמיים (טווח, שילוש, פסיק, חץ, מצייני־מקום). מדריך עיון זה מפוצל לעמוד אחד לכל משפחה.
PetaPerl מממש את מערך האופרטורים המלא של Perl 5 בסמנטיקה זהה: אותה קדימות, אותה אסוציאטיביות, אותם כללי הקשר. הבדלים ממוקמים בהערות הספציפיות ל־PetaPerl בתחתית כל עמוד שבו הם חלים.
בחרו משפחה#
אריתמטיקה -
+ - * / % **והאונריים+/-.מחרוזת -
.(שרשור),x(חזרה).השוואה מספרית -
< <= == >= > != <=>.השוואת מחרוזות -
lt le eq ge gt ne cmp(לקסיקוגרפית).לוגיקה -
&& || // ! and or not xorוכלל הקיצור / החזרת־האופרנד.ביטים -
& | ^ ~ << >>.טווח -
..ו־..., עם הסמנטיקה הכפולה שלהם בהקשר רשימה/סקלר.איגוד -
=~ו־!~מקשרים מחרוזות עם regex.השמה -
=והצורות המורכבות (+= .= ||= //=וכו«).שילוש -
?:.מצביע־מקום -
[],{}, פרוסות, סוגריים מסולסלים ל־deref.חץ -
->(deref, קריאה למתודה).פסיק -
,והפסיק השמן=>.קדימות - טבלת הקדימות המלאה וכלל הפענוח של אונרי־בעל־שם שמבלבל את כולם בפעם הראשונה.
מושגים חוצי־נושאים#
כמה רעיונות מופיעים בכל פרק. קראו אותם פעם אחת ותזהו אותם לאורך כל השאר:
הקשר. אופרטורים מעריכים את האופרנדים שלהם בהקשר מסוים (מספרי, מחרוזת, רשימה, סקלר, בוליאני). הרבה מההפתעות באריתמטיקה ובהשוואה של Perl נובעות מכפיית הקשר בגבול האופרנד, לא מהאופרטור עצמו.
קיצור.
&&,||,//,and,orמעריכים משמאל־לימין ועוצרים ברגע שהתוצאה נקבעת. ערך הביטוי כולו הוא הדבר האחרון שהוערך בפועל - שהוא אחד מהאופרנדים שלו, לא אמת/שקר מנורמלים. ראו לוגיקה ואת הדרכת הלוגיקה הבוליאנית.קדימות. אומרת לכם איך אופרטורים נקשרים כשהסוגריים לא עושים זאת. הטבלה המלאה נמצאת בקדימות וכל עמוד מקשר לשורות שמעניינות אותו.
Lvalue. רוב האופרטורים מייצרים rvalues (ערכים שניתן לקרוא). מעטים - השמה, deref, שילוש בצורות מסוימות - מייצרים lvalues (מיקומים שניתן לכתוב אליהם).