שפת
פרל אינה מתיימרת להיות שפה סופר מתוחכמת.
למעשה , בהשוואה לשפות חזקות אחרות הנמצאות
בשטח כיום , פרל פותרת רק מעט בעיות , אך עם זאת
היא פותרת בעיות חשובות וקריטיות.
למרבה
המזל , מכיוון שפרל הינה ממוקדת בתחום מסוים
היא מבצעת את העבודה שהיא אמורה לעשות בצורה
יוצאת מן הכלל. יתרה מכך , המספר המוגבל של
הבעיות עליהן פרל יכולה לתת תשובה, בד"כ
ישתלבו היטב עם דרישות ה CGI.
פרל
ו CGI
הינם שידוך מושלם. CGI(Common Gateway
Interface) – כפי
שהשם מרמז , מספק מעין גשר מעבר (gateway) בין המשתמש האנושי בעל הצרכים המורכבים
והבלתי צפויים לבין השרת בעל העוצמה ובעל
אורינטציה של פקודות לוגיות. כגשר מעבר כזה , ה
CGI
חייב לבצע משימה מסויימת אחת בצורה טובה. הוא
חייב לתרגם.
כל
אפליקציות ה CGI
צריכות לתרגם את צרכי המשתמש לבקשות מן השרת
וכן לתרגם את תגובות השרת לתשובות בעלות
משמעות וניתנות להצגה עבור המשתמש. דבר זה
יכול להוות עבודה לא מעטה בכלל מכיוון שאנשים
ומחשבים בד"כ מדברים בשפות שונות לחלוטין.
ככזאת
, CGI
חייבת להיות מומחית במניפולציות על טקסט (הן
על קלט המשתמש והן על פלט השרת). אפליקציית CGI
חייבת להיות מסוגלת לקבל מחרוזות של נתונים
ולתרגם אותן משפה אחת לאחרת בצורה עקבית
ומהירה.
במקרה…
, פרל הינה בעלת כלים רבים ומגוונים אשר עוצבו
לצורך ביצוע מניפולציות על מחרוזות של נתונים.
למען האמת , פרל הינה אחת השפות הטובות ביותר
הקיימות בתחום זה.
מעבר
לכך , CGI
צריכה לשמש כגשר מעבר (gateway)
לא רק עבור לקוח אחד אל מול שרת אחד , אלא עבור
לקוחות רבים מסוגים שונים אל מול שרתים רבים
מסוגים שונים. על ה CGI
להיות מעבר למתרגם דו-לשוני ובעצם להוות
מתרגם רב-לשוני , ז"א לספק שירותי תרגום בין
עשרות סוגים של דפדפנים לבין עשרות סוגים של
שרתים ומערכות הפעלה.
ובכן
, שוב פרל נוצצת לה. למרבה המזל , פרל הינה רב-התאמתית.
תודות לעבודתם הקשה וכוונתם הטובה של הרבה
האקרי-רשת , פרל הותאמה כמעט עבור כל מערכת
הפעלה שתרצה להפעיל על גביה שרת WEB.
ולבסוף
, חסרונות פרל אינם כה מורגשים כאשר אנו
עובדים איתה בסביבת WEB.
רוב
אפליקציות ה CGI
תלויות מאוד ברוחב הפס ובמהירות של החיבור
לרשת. בעוד ששפות אחרות הדורשות קומפילציה
דורשות לרוץ על גבי שרת חזק ומהיר וכן דורשות
פונקציות רבות ומורכבות
, פרל הינה פשוטה ואינה דורשת מורכבות
מיוחדת. דומה הדבר לנסיון להפגיז נמלה עם פצצת
מימן. פרל היא פשוט הכלי הנכון לביצוע העבודה.
שפות אחרות בד"כ הן בעלות "קטל" רב
מדיי… (Overkill).
פרל
הינה גם פשוטה להבנה. מכיוון שפרל הינה שפה
המתורגמת (interpreted)
ללא קומפילציה – אין לנו קומפיילרים ההופכים
את הקוד לבלתי מובן. מה שאתה רואה זה מה שאתה
מקבל. הקוד שמורץ על ידי שרת ה WEB
הינו הקוד שאתה רואה בחלון עורך הטקסט שלך.
כיוון
שפרל הינה פשוטה בעיצוב , היא גם פשוטה בנושאי
הכנסת שינויים , תחזוקה והתאמה. וזאת מכיוון
שהקוד מקור של פרל כ"כ קריא – קל מאוד לקחת
סקריפט קיים ובמהירות להכניס בו שינויים על
מנת שיתאים לצרכינו ויפתור בעיות דומות לאלו
שפתר במקור. פרל הינה שפת "העתק והדבק"
וכמו כן המבנה הלוגי שלה פשוט להבנה ולכן קל
להעביר חלקים מפרוייקט אחד למשנהו.
היתרון
הגדול הינו שפרל נתמכת ע"י גוף נרחב של
מתכנתי CGI.
שלא כמו שפות מקודדות כגון C++
או ויז'ואל בייסיק, פרל הינה נוחה ונגישה
למומחי אנתרופולוגיה ומדעי המחשב באותו
האופן. למעשה , קיימים newsgroups כגון comp.lang.perl
אשר מאוד פעילות ומשגשגות תודות ל WEB
ובהן ניתן לראות השתתפות של אנשים אשר באים
מרקעים שונים.
ולכן
, מכיוון שכל כך הרבה אנשים יודעים לכתוב
ולהכניס מודיפיקציות בפרל , זה נורא פשוט
למצוא מישהו שיעשה זאת עבורך בזול ובצורה
טובה. אינך צריך להתחנן למספר מועט של מומחים
היודעים לגלוש על המדרונות המסוכנים של שפה
מורכבת וקשה. ישנו
שפע של אנשים מוכשרים , סטודנטים הרעבים לפתור
בעיות בעזרת פרל אשר יהיו מוכנים לכתוב לך את
הדרוש במחירים זולים , במיוחד אם כבר נתון להם
קוד דומה אשר יש להכניס בו שינויים.