מסדי נתונים / בחירת מסד הנתונים האידיאלי / הטבעת ביטויים יחסיים במחרוזת Here-Document


הטבעת ביטויים יחסיים במחרוזת Here-Document


במקרה שהביטוי Here-Document חדש לכם, זוהי הדרך בה הוא נוצר:

$string = <<"HERE_DOCUMENT"; You can type all sorts of stuff in here.... You can also $interpolate variables right into your h-d string. The here-document string will quit when it runs into the label given at its outset. HERE_DOCUMENT


ראיתם אותי משתמש בביטוי הזה הרבה מאוד פעמים. הוא יעיל במיוחד ליצירת מחרוזת $SQL שתעבורל $dbh כדי ליצור $cursor בצד הלקוח.
תסתכלו שוב על יצירת $SQL בדוגמת ה $dbh->quote שהצגנו מקודם. נאלצתי ליצור משתנה ביניים $foo, כדי להגיע אל מחרוזת here-document שהיא שיצרה את $SQL, אבל זה לא מושלם. אנחנו יכולים לעשות משהו הרבה יותר מוצלח.

הבעיה היא ש $dbh->quote אמור להחזיר מחרוזת כלשהי, אבל בעצם מחזיר פונקציה (או יותר נכון, רוטינה), דבר שלא יכול להיכנס לתוך here-document לדוגמא, הקוד הבא לא יעבוד:

$SQL = <<"EOT"; insert into my_table(my_column) values ($dbh->quote($query->param('foo'))) EOT


מה שניתן לעשות זה לרמות את here-document עם הקוד הבא:

$SQL = <<"EOT"; insert into my_table(my_column) values (${ \($dbh->quote($query->param('foo'))) }) EOT


ה \ מספק הפניה לערך שסופק ע"י ${...} . $dbh->quote מבטל את ההפניה.
תחביר מכוער, אבל הי, פרל מעולם לא התפרסמה בגלל היותה שפה יפה.



עמוד הבא: הטבעת תת-רוטינות >>




מבט כללי
שעור 1
הטכנולוגיה הלא נכונה
לבעיה הלא נכונה

דמיין את כל האנשים
(נכנסים לאתר שלך)

מה האופציות שלי?
למה באינטרנט?
אבל איך?
משהו ללעוס בדרך
שעור 2
הכרות עם שדה
המשחקים

Windows NT לעומת
Linux

התקנת לינוקס והתוכניות
הנלוות

ציפיות
שעור 3
מבוא
MySQL ושאר עניני
שרת/מסד נתונים

MySQL,SQL,DDL
ו-DML

סיכום
שעור 4
פילוסופית ה-Embedded
Web-Programming

ePerl-כשפרל פוגשת את
HTML

DBI-ממשק מסד הנתונים
של פרל

הדרך שלפנינו
שעור 5
מתחילים לעבוד
CGI.pm הבלתי נמנע
Escape Sequences
ומסד הנתונים שלך

הטבעת ביטויים יחסיים
במחרוזת
Here-Document >
הטבעת תת-רוטינות
מחברים את הכל
מטפלים בטפסים עם
שאילתות SQL

מעבדים את תוצאות
הטופס עם-CGI.pm