פרק ראשון: ה Perl שאתם צריכים לדעתמשתני Perl: השוואת סקאלריםבמקרים בהם אנו רוצים להשוות בין משתנה אחד למשנהו, הגודל קובע. אם נזכר בדוגמת המרת המטבעות שבחנו בעבר, יתכן ונרצה לראות אם מספר הדולרים הקנדיים שנחזיק בידינו אחרי ההמרה הוא גדול, או קטן ממקבילתו בדולרים אמריקאיים. תוצאה של השוואת ערכים בPerl יכולה להיות אמת או שקר. בעזרת אופרטורי ההשוואה אנו מגדירים את קריטריון ההשוואה. למשל, הבא נניח ש USTotal$ מכיל את הערך 50 ו CDNTotal$ מכיל את 67.5. בעזרת האופרטור האריתמטי גדול מ (<) נקבל:
לרוב, נכתוב את אופרטורי ההשוואה כחלק מביטוי גדול יותר, אשר ישתמש בתוצאה. דוגמא פשוטה לשימוש כזה היא השמת התוצאה לתוך משתנה שלישי: $USgreater=($USTotal>$CDNTotal); בשלב מאוחר יותר יתכן ונרצה לבדוק האם Usgreater$ מכיל ערך אמת או שקר, אשר התקבל כתוצאה מההשוואה למעלה. צורה שכיחה יותר של שימוש באופרטורים כאלה היא החלתם כתנאי לפעולות המתבצעות בתנאי מסוים בלבד (משפטי בקרה), אשר מנתבות את מהלך התוכנית. למרות שעדיין לא למדנו את משפטי הבקרה, הם אמורים להיות מוכרים לכל מי שיש לו ידע בסיסי בתכנות. אילו מכם שאינם בעלי ידע קודם בתכנות יכולים פשוט לקרא בקול רם את ההצהרה הבאה, וכך להבין את הבסיס העומד מאחורי קטע קוד זה: if ($USTotal>$CDNTotal) { ...execute some piece of code... } else { ...execute some other piece of code... } עתה נניח ונרצה לבדוק האם USTotal$ ו CDNTotal$ שווים בגודלם. למטרה זו נשתמש באופרטור ההשוואה (==):
מובן שאם המשתנים הללו היו מכילים אותו ערך היינו מקבלים ערך אמת כפלט. הערה למתכנתים: אופרטור ההשוואה האריתמטי הוא תו שווה כפול (==), ולא תו שווה אחד בלבד. שפות תכנות מסוימות משתמשות בתו שווה יחיד על מנת לייצג הן השמה והן השוואה. שכיחת תו השווה השני היינה אחת מהטעויות הנפוצות בקטעי קוד ב Perl. הזכרו בדיוננו הקודם בנושא סוגי משתנים, וכיצד שפת ה Perl מפרשת את סוגי המשתנים בהתאם לאופרטור בו משתמשים. בדוגמא הקודמת, אנו מבצעים השוואה בין שני משתנים, דבר אשר הגיוני לבצע רק בין שני משתנים מספריים, כיוון שאיננו יכולים לומר ש"כלב" גדול מ"חתול" (למען האמת יש כאלה שיכולים לומר זאת, אך אלו רק מחפשים צרות). למעשה Perl יכולה לבצע השוואות כאלו אולם היא משתמשת בצורת חשיבה שונה, ובאופרטורים שונים. לגבי Perl "כלב" גדול מ"חתול" מהסיבה הפשוטה שכלב מופיע אחרי חתול בסדר ה- אלף בית, ומאותה הסיבה אנו יכולים לומר גם ש"חתול" קטן מ"כלב". האופרטור לביצוע השוואת מחרוזות ב Perl הוא "gt", ואופרטור השוואת המחרוזות הוא "eq", לכן אם petA$ הכיל בתוכו את "cat" ואילו petB$ הכיל את "dog" אנו צריכים לבצע את ההשוואות בצורה:
ישנן סיבות רבות לביצוע השוואה בין משתנים, ומדריך זה אינו יכול להתעמק בכולן לפרטיהן. הטבלה הבאה מסכמת את אופרטורי ההשוואה הנפוצים ביותר, שבהם תוכלו להשתמש כאשר תחשבו שזה יועיל לתוכניתכם. Perl
אופרטורים בסיסיים בשפת
|