logo


פרק ראשון: ה Perl שאתם צריכים לדעת

משתני Perl: השוואת סקאלרים

במקרים בהם אנו רוצים להשוות בין משתנה אחד למשנהו, הגודל קובע. אם נזכר בדוגמת המרת המטבעות שבחנו בעבר, יתכן ונרצה לראות אם מספר הדולרים הקנדיים שנחזיק בידינו אחרי ההמרה הוא גדול, או קטן ממקבילתו בדולרים אמריקאיים. תוצאה של השוואת ערכים בPerl יכולה להיות אמת או שקר. בעזרת אופרטורי ההשוואה אנו מגדירים את קריטריון ההשוואה. למשל, הבא נניח ש USTotal$ מכיל את הערך 50 ו CDNTotal$ מכיל את 67.5. בעזרת האופרטור האריתמטי גדול מ (<) נקבל:

$USTotal > $CDNTotal
yields
false
$CDNTotal > $USTotal
yields
true

לרוב, נכתוב את אופרטורי ההשוואה כחלק מביטוי גדול יותר, אשר ישתמש בתוצאה. דוגמא פשוטה לשימוש כזה היא השמת התוצאה לתוך משתנה שלישי:

$USgreater=($USTotal>$CDNTotal);

בשלב מאוחר יותר יתכן ונרצה לבדוק האם Usgreater$ מכיל ערך אמת או שקר, אשר התקבל כתוצאה מההשוואה למעלה. צורה שכיחה יותר של שימוש באופרטורים כאלה היא החלתם כתנאי לפעולות המתבצעות בתנאי מסוים בלבד (משפטי בקרה), אשר מנתבות את מהלך התוכנית. למרות שעדיין לא למדנו את משפטי הבקרה, הם אמורים להיות מוכרים לכל מי שיש לו ידע בסיסי בתכנות. אילו מכם שאינם בעלי ידע קודם בתכנות יכולים פשוט לקרא בקול רם את ההצהרה הבאה, וכך להבין את הבסיס העומד מאחורי קטע קוד זה:

if ($USTotal>$CDNTotal)
 { ...execute some piece of code... }
else
 { ...execute some other piece of code... }

עתה נניח ונרצה לבדוק האם USTotal$ ו CDNTotal$ שווים בגודלם. למטרה זו נשתמש באופרטור ההשוואה (==):

$USTotal == $CDNTotal
yields
false

מובן שאם המשתנים הללו היו מכילים אותו ערך היינו מקבלים ערך אמת כפלט. הערה למתכנתים: אופרטור ההשוואה האריתמטי הוא תו שווה כפול (==), ולא תו שווה אחד בלבד. שפות תכנות מסוימות משתמשות בתו שווה יחיד על מנת לייצג הן השמה והן השוואה. שכיחת תו השווה השני היינה אחת מהטעויות הנפוצות בקטעי קוד ב Perl.

הזכרו בדיוננו הקודם בנושא סוגי משתנים, וכיצד שפת ה Perl מפרשת את סוגי המשתנים בהתאם לאופרטור בו משתמשים. בדוגמא הקודמת, אנו מבצעים השוואה בין שני משתנים, דבר אשר הגיוני לבצע רק בין שני משתנים מספריים, כיוון שאיננו יכולים לומר ש"כלב" גדול מ"חתול" (למען האמת יש כאלה שיכולים לומר זאת, אך אלו רק מחפשים צרות). למעשה Perl יכולה לבצע השוואות כאלו אולם היא משתמשת בצורת חשיבה שונה, ובאופרטורים שונים. לגבי Perl "כלב" גדול מ"חתול" מהסיבה הפשוטה שכלב מופיע אחרי חתול בסדר ה- אלף בית, ומאותה הסיבה אנו יכולים לומר גם ש"חתול" קטן מ"כלב". האופרטור לביצוע השוואת מחרוזות ב Perl הוא "gt", ואופרטור השוואת המחרוזות הוא "eq", לכן אם petA$ הכיל בתוכו את "cat" ואילו petB$ הכיל את "dog" אנו צריכים לבצע את ההשוואות בצורה:

$petA gt $petB
yields
false
$petA eq "cat"
yields
true

ישנן סיבות רבות לביצוע השוואה בין משתנים, ומדריך זה אינו יכול להתעמק בכולן לפרטיהן. הטבלה הבאה מסכמת את אופרטורי ההשוואה הנפוצים ביותר, שבהם תוכלו להשתמש כאשר תחשבו שזה יועיל לתוכניתכם.

Perl אופרטורים בסיסיים בשפת
תוכן עניינים
Perl אופרטורים של השוואה בשפת

אודות
תוכן עניינים
פרק 1: ה Perl שאתם צריכים לדעת
מי מפחד מ Perl  
התקנת Perl  
הרצת תוכניות Perl  
משתנים ב Perl : סקלרים  
אופרטורים בסיסיים ב Perl  
משתני Perl: השוואת סקלרים  
אופרטורים של השוואה ב Perl  
משתני Perl: רשומות (ובשם נוסף: מערכים)  
משתני Perl: טבלאות האש  
פונקציות ב Perl  
זרימת תוכניות ב Perl  
סיכום  
פרק 2: קישור Perl לעמודי הרשת
פרק 3: שמירת מצב
פרק 4: HTML בחטף ותבניות (Templates) רשת
פרק 5: עיבוד וניתוח של עמודי רשת
פרק 6: להשתעשע עם בסיסי נתונים מקוונים:אקסס
פרק 7: המודל MySQL
פרק 8: להשתעשע בבסיסי נתונים - GUFE - החזית הכללית והשימושית
פרק 9: המילניום - ניהול זמן ותאריך
פרק 10: ניהול רשימות והאשים (Hashs)
פרק 11: הפניה להפניה
פרק 12: הכרות עם mod_perl