ההבדל עם CGI.

CGI מעבד את הקלט באופן שונה מהאופן שמתבצע ע"י סקריפטים בשיטה הישנה של פרל וזהו בעצם ההבדל היחיד שתמצא בין השניים. ברגע שסקריפט CGI מעבד את הקלט, הקלט הופך לנתונים (data) אשר מנוהלים בצורה די דומה ע"י CGI  וע"י סקריפטים בפרל. קלט בCGI  יכול להתקבל ב2 דרכים שונות: "get” ו "post”. אם ידוע לך מראש מהו סוג הקלט שהולך להתקבל אז עליך להשתמש אך ורק בסוג אחד מהנ"ל. אבל אם לא ידוע לך מה יוכנס כקלט אז עליך לכסות את כל האפשרויות של התשובות האפשריות. לכן עליך להשתמש בתהליך המורכב משני צעדים הכולל משפט תנאי if/else.  

if ($ENV{'REQUEST_METHOD'} eq "GET") { $in = $ENV{'QUERY_STRING'}; } else { $in = <STDIN>; }

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

הפיכת פרל ל-סי.ג'י.איי  | בדיוק כמו בסרטים