logo


פרק ראשון: ה 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 משתני
תוכן עניינים
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