על
מנת לבצע חיפוש על מידע המתאים לקלט המשתמש
"title" , נפתח
את מסד הנתונים באותה דרך שאנו פותחים כל קובץ
אחר בפרל. לאחר מכן נקרא זאת לתוך מערך של
משתנים וכמובן נסגור את הקובץ.
|
|
כעת
לסקריפט יש את כל המידע ממסד הנתונים והוא
מוכן לסרוק ולחפש את המידע אשר תואם את בקשת
הקלט של המשתמש. נתנו למשתמש הוראות ברורות
כיצד להכניס את כותרת הסרט, למרות זאת אתה
תופתע לגלות כמה סוגי קלטים שונים עלולים
להתקבל בפועל. לכן נתמודד עם כך בצורה הבאה: (שים
לב להערות בגוף הקוד – הן חשובות וגם עליך
לנקוט באותה שיטה)
|
|
כמובן
שעלינו לטפל בקלט שהתקבל מן המשתמש , תחילה
נרצה לוודא שלא קלטנו כל מיני תווים מוזרים
שלעיתים נותרים כאשר קלט מתורגם ל קוד URI (URI
הינו קוד אשר מספר שפות מתורגמות אליו כאשר
טופס נשלח והדפדפן מחליט להעביר המידע לCGI
בצורה זו). על מנת לנקות את ה"זבל" שנוצר
כתוצאת לוואי מתהליך זה , נבצע:
|
|
זוהי
פקודת חפש והחלף (search-and-replace)
אשר בודקת אם ישנם תווים המתחילים ב* ומחליפה
אותם בתווים אשר ניתן לקרוא. וכך הקלט מקבל
ניחוח טוב יותר (ללא ה"זבל"(
אם
כן, כעת יש בידך טקסט נורמלי אך עדיין ישנן כמה
בעיות. אם הכותרת (title)
ארוכה יותר ממילה אחת אז המשתנה $in יכיל סימני "+" היכן שאמורים להיות
רווחים (spaces).
ולכן
נבצע:
|
|
זוהי
פונקציה סטנדרטית של פרל אשר מחפשת את סימני ה
"+" ומחליפה אותם ברווחים.
ולבסוף
, עלינו להוציא את המידע מהמשתנה $in
ולהעניק לו שם יותר תיאורי ,
|
|
קוד זה מפצל את השורה לתוך המערך האסוציאטיבי %movie.
מכיוון ששם השדה בטופס היה "title" , המידע אוחסן בחריץ $movie{'title'}.
למרות שחלק זה אינו הכרחי, זה עוזר לי לעקוב אחר מה שקורה.
כעת שיש לנו את המידע , הגיע הזמן לעשות משהו עם זה.