פרק ראשון: ה Perl שאתם צריכים לדעתפונקציות ב Perlהשימוש בפונקציות, דומה במידת מה להזמנת פיצה...אתם מצלצלים לצד שלישי (הפיצריה), נותנים לו מספר נתונים (שמכם, הזמנתכם), ותוך מחצית השעה, התוצאה מופיעה בדלת. פונקציות לעומת זאת עובדות מהר יותר, ולא זקוקות לטיפ. Perl מגיעה עם המון פונקציות מובנות. לפונקציות הללו תפקידים מגוונים מאוד, החל מטיפול במחרוזות ומספרים, וכלה בעבודה עם קבצים הנמצאים על הדיסק. חלק מהפונקציות זקוקות למידע נוסף על מנת לבצע את עבודתן כראוי, מידע זה נקרא פרמטרים. חלק מהפונקציות מופיעות כחלק מביטוי רחב יותר, אחרות מופיעות כשלעצמן. פונקציות רבות אינן קשורות לשום דבר. הבא נבחן את פונקצית ה lc הפשוטה. הפונקציה מקבלת פרמטר אחד - מחרוזת, ומחזירה העתק של מחרוזת זו באותיות קטנות בלבד: $str="HELLO"; $lowerStr=lc($str); בדוגמא, המשתנה lowerStr$ יכיל את הערך "hellow". שימו לב שהשתמשנו בפונקציה lc בתוך ביטוי המכיל אופרטור השמה, כיוון ששימוש בפונקציה בלבד... lc($str); ...לא ייתן לנו מאומה, וזאת כיוון שהערך המוחזר לא מושם לשום מקום, ולכן נעלם. שימו לב לעובדה שהפונקציה lc לא משנה במאומה את הערך בתוך str$, היא רק מחזירה העתק של str$ שבוצעו עליו שינויים. פונקציות מסוימות פועלות ישירות על המשתנה המועבר אליהן - פונקציות אלה אינן צריכות להופיע בצמידות לפעולה אחרת. כדוגמא הבא נבחן את פונקצית ה chop אשר מורידה את התו האחרון במחרוזת: $str="one,two,three,"; chop($str); הקריאה לchop משנה את הערך בתוך str$ ל "one,two,three". העובדה שאנו משתמשים ב chop בלא השמה אינה אומרת שהערך המוחזר הולך לאיבוד. למעשה, אם נשתמש בchop בתוך ביטוי הכולל השמה, הערך המושם יהיה התו הנחתך, משמע: $str="one,two,three,"; $chopped=chop($str); הפקודה למעלה, תיגרור את חיתוך הפסיק האחרון מ str$ וגם תבצע השמה שלו לתוך chopped$. בדרך כלל אין לנו צורך לשמור את הקטע המושמט מסוף המחרוזת, ולכןchop מופיעה לעיתים קרובות לבדה, בלי להיות חלק מביטוי רחב יותר. פונקציות לא חייבות לקבל את פרמטריהן בתוך סוגריים. ואתם יכולים להיתקל בפונקציות הפועלות בלא סוגריים, כמו "chop $str". למעשה, כבר ראינו דוגמא אחת לקריאה כזו - פונקצית ה print. אולם הנוהג הוא להשתמש בסוגריים המכילים בתוכם את כל הפרמטרים המועברים - כאשר פונקצית ה print היא יוצאת דופן. העובדה ש Perl גמישה יחסית, אינה אומרת שצריך לנצל גמישות זאת. השימוש בפונקציות הוא ישיר, והוא חלק חשוב מ Perl. החדשות הטובות הן ש Perl מכילה בתוכה מספר עצום של פונקציות שאמורות להפוך את חיי המתכנתים לקלים יותר, בנושאים מגוונים כמו עבודה עם חישובים מתמטיים, חיתוך מחרוזות, שימוש בזמנים ותאריכים, כתיבה וקריאת מידע מתוך קבצים, ועוד. החדשות הרעות הן שאי אפשר לסכם את כולן בתוך מאמר זה, אך פונקציות אלו כבר סוכמו ואופיינו, וניתן למצוא אותם בperlfunc documentation , ב CPAN (רשת המאגרים המקיפה ל Perl). טבלאות
האש :Perl משתני
|