Weitere ähnliche Inhalte
Mehr von burin rujjanapan
Mehr von burin rujjanapan (20)
Ch18
- 1. บทที่ 18 : ภาษา PERL
บทที่ 18
ภาษา PERL
PERL คือภาษาคอมพิวเตอรภาษาหนึง ยอมาจาก Practical Extraction and Report Language
่
ถูกพัฒนาขึนโดย Mr.Larry Wall ตังแตปพ.ศ. 2519 (ค.ศ.1976) มีรปแบบคลายภาษา C ถูกใชพฒนา
้ ้ ู ั
เว็บไซต เพือประมวลผลขอมูลและนําเสนอในแบบโตตอบกับผูใช มีลกษณะการทํางานแบบ Server-side
่ ั
script ซึงทํางานบนเครืองใหบริการ (Server) เชนเดียวกับภาษา PHP หรือ ASP ภาษาเหลานีเก็บ Source
่ ่ ้
เว็บโปรแกรมเมอร
เรื่ อ งน า รู สํา หรั บ
code บนเครืองบริการ (Server) เมือผูใชรองขอโปรแกรมทีตองการ สิงทีสงใหผใช คือ ผลลัพธทผานการ
่ ่ ่ ่ ่ ู ี่
ประมวลผล
คําที่ตรงขามกับ Server-side script คือ Client-side script เก็บ Source code บน Server
เมือผูใชรองขอโปรแกรมทีตองการ จะคัดลอก Source code สงใหผใชทงหมด และใหโปรแกรม Browser
่ ่ ู ั้
ตอนที่
3:
เชน Internet explorer หรือ Netscape ประมวลผลใหเปนไปตามตองการในเครืองคอมพิวเตอรของผูใช
่
โดยปกติจะสามารถดู Source code ไดทงหมด ภาษาทีนยมใชเชน JavaScript หรือ VBScript เปนตน
ั้ ่ ิ
ผูเ ขียนเริมเขียน PERL ครังแรกเมือกลางปพ.ศ. 2539 (ค.ศ.1996) เพราะเปนภาษาเดียวทีนาใช
่ ้ ่ ่
สําหรับพัฒนาเว็บเพจแบบไดนามิก และมีผนยมใชมากทีสดภาษาหนึง เพือการพัฒนาเว็บไซตแบบไดนามิก
ู ิ ุ่ ่ ่
ภาษานีทางานบน Unix หรือ Linux ไดยอดเยียม ถาใครคิดจะเขียนภาษา PERL และนําไปใชงานกับ Free
้ ํ ่
hosting นักพัฒนามากมายจะรูจก hypermart.net เปนอยางดี ในสมัยนันทีนยงเปดบริการ Free hosting
ั ้ ่ ี่ ั
แตปจจุบนเปดใหบริการสมาชิกใหม เฉพาะผูยนดีชาระคาบริการเทานัน สวนสมาชิกเดิมยังไดรบบริการ
ั ิ ํ ้ ั
ปรับปรุง : มิถุนายน 2546 143
>>>
PDF created with FinePrint pdfFactory Pro trial version http://www.pdffactory.com
- 2. ตอนที่ 3 : เรื่องนารูสําหรับเว็บโปรแกรมเมอร
ตามปกติแมไมจายคาบริการ และผูเ ขียนเปนผูหนึงทียงใชบริการของทีนี่ โดยใชชอเว็บไซตวา thaiall.com
่ ่ั ่ ื่
โดยเสียคาบริการปละ $199 แต thaiabc.com ทีเปนอีกเว็บหนึงของผูเขียน ยังใชบริการในแบบไมเสีย
่ ่
คาบริการ แตมปายโฆษณาผุดขึนมา (Popup banner) 2 ปายทุกครังทีเว็บไซตถกเปด
ี ้ ้ ่ ู
ปจจุบนยังมีเว็บไซตทเปดใหบริการ PERL เชน se-ed.net หรือ netfirms.com เปนตน ถาทาน
ั ี่
ตองการเริมตนศึกษา หรือทดสอบสรางเว็บไซตดวยตนเอง สามารถสมัครใชบริการ free hosting เหลานี้
่
เมือเขาใจหลักการพืนฐานแลว จึงไปจดโดเมนเนม และเชา web hosting เพือเขียนโปรแกรมในระดับสูง
่ ้ ่
และสรางบริการทีดตอไป่ี
18.1 แหลงทดสอบการใชโปรแกรม
1. ใชงานกับ Free hosting เชน se-ed.net, netfirms.com หรือ prohosting.com เปนตน
2. ติดตัง OMNI ซึงเปน Web server และหาโปรแกรม perl.exe ไวในหอง c:perlbin เพือเปน
้ ่ ่
ตัวแปรภาษา
3. ติดตัง PWS (Personal Web Server) หรือ Web server ทีทานเชือถือ แลวติดตัง ActivePerl
้ ่ ่ ้
<<< 144 Introduction to Webmaster
PDF created with FinePrint pdfFactory Pro trial version http://www.pdffactory.com
- 3. บทที่ 18 : ภาษา PERL
18.2 เหตุผลที่เลือกเขียน PERL
เหตุ ผ ลที่ เ ลื อ กเขี ย น PERL เพราะผู เ ขี ย นต อ งการเขี ย นเว็ บ ไซต ที่ ส ามารถ
ใหบริการไดอยางสมบูรณ ที่ภาษา HTML ใหไมได และถาถามวาทําไมไมเลือกภาษาอื่น ก็ขอตอบ
สัน ๆ วากลางปพ.ศ. 2539 ยังไมมี ภาษาใดนาใชเทาภาษานี้ เทาที่เสาะหาผูใหบริการ Free hosting
้
ก็พบแตทใหบริการภาษานีเทานัน และตังแตนนเปนตนมาก็ใชภาษานีมาโดยตลอด
ี่ ้ ้ ้ ั้ ้
ตัวอยางงานของผูเขียนที่ใชภาษา PERL พัฒนา
1. บริการสืบคน และระบบสารบัญเว็บ http://www.thaiall.com
2. บริการจัดอันดับเว็บ http://www.thaiall.com/rangeweb.htm
3. บริการ Demo e-commerce http://thaiall.hypermart.net
4. บริการขอสอบ online http://www.thaiall.com/quiz
5. บทเรียนสอนเขียน PERL http://www.thaiall.com/perl
6. บริการกระดานขาว http://yonok.hypermart.net/board
7. บริการประกาศผลการเรียน http://yonok.hypermart.net/grade
8. บริการ counter http://www.counterthai.com
9. บริการ URL redirection http://www.thainame.net
ทานสามารถพัฒนาโปรแกรมไดอกมากมายดวยภาษานี้ ผูเขียนเพียงนําเสนอตัวอยาง ใหเปน
ี
เว็บโปรแกรมเมอร
เรื่ อ งน า รู สํา หรั บ
แนวทางสําหรับนักพัฒนามือใหม แตภาษานีมใชภาษาเดียวในโลก ยังมีภาษาอืนทีนาสนใจ มีคณสมบัตเิ ดน
้ ิ ่ ่ ุ
หรือดอยกวา ใหทานไดศกษา และหวังวาทานจะไมดวนตัดสินใจเลือกภาษานี้ โดยไมศกษาภาษาอืนกอน
ึ ึ ่
18.3 การเขียน PERL ใชกับ Free hosting
ตอนที่
3:
ปกติผเู ขียนไมสนับสนุนใหเขียนโปรแกรม และทดสอบในเครืองคอมพิวเตอร แตใหเขียนแลว
่
upload ขึนไปยัง free hosting แลวทดสอบดูเลย เพราะคาใชจายในการใชบริการอินเทอรเน็ตตํามาก หลาย
้ ่
ครังทีตวแปรภาษาฝงเครืองบริการ (Server) ไมตรงกับตัวแปรทีอยูในเครืองคอมพิวเตอรทบาน หลายทาน
้ ่ั ่ ่ ่ ี่
พบวา เขียนและทดสอบในเครืองคอมพิวเตอรของตนแลวใชงานไดสมบูรณ แตหลังจาก upload ขึ้น
่
เครืองบริการ (Server) กลับใชงานไมได โดยเฉพาะภาษา PERL เมือพลาดแลว หาจุดผิดพลาดยาก เพราะ
่ ่
ไมบอกวาผิดอยางไร นักพัฒนาตองไปคนหาเองวา ลบบรรทัดใดแลวไมผดพลาด จะตองทดสอบทีละบรรทัด
ิ
บางครังลืมแคเครืองหมาย , หรือ ; ใชเวลาทังวันก็มี เรืองแบบนีโปรแกรมเมอรทราบกันดี
้ ่ ้ ่ ้
ปรับปรุง : มิถุนายน 2546 145
>>>
PDF created with FinePrint pdfFactory Pro trial version http://www.pdffactory.com
- 4. ตอนที่ 3 : เรื่องนารูสําหรับเว็บโปรแกรมเมอร
ขั้นตอนการเขียนโปรแกรมภาษา PERL โปรแกรมแรก
1. สมัครใชบริการกับ free hosting เพื่อใหได username และ password
เชน สมัครกับ se-ed.net จะได URL เปน http://www.se-ed.net/yourname
สมัครกับ netfirms.com จะได URL เปน http://yourname.netfirms.com
2. ทดสอบ upload แฟม เชน index.html ที่สรางขึ้นอยางงาย แลวทดลองวาเปดเว็บไดจริง
เชน ให index.html สรางดวย notepad เก็บตัวอักษร 18 ตัว
โปรแกรม index.html มีขอมูล ดังนี้ <body>hello</body>
เมือเปดเว็บชือ
่ ่ http://www.se-ed.net/yourname/index.html
ควรเห็นผลเปนคําวา hello
3. เขียนเว็บดวยโปรแกรม notepad แลวเก็บในชือ thai.pl โดยมี 3 บรรทัดขางลางนี้
่
#!/usr/bin/perl
print “Content-type:text/htmlnn”;
print “thailand”;
4. หลังจาก upload แฟม thai.pl ขึนไปยังเว็บไซตของผูใหบริการ โดยปกติผใชตองใชโปรแกรม
้ ู
FTP เขาไปกําหนดสิทธิดวยคําสัง chmod 755 thai.pl และสงเขาไปในแบบ ASCII mode ถาทดสอบและ
์ ่
เห็นผลลัพธ เปนคําวา thailand เพียงคําเดียว แสดงวาโปรแกรมภาษา PERL โปรแกรมแรกของทาน ผาน
และไมผดพลาดแตอยางใด
ิ
ตัวอยาง URL ทีทานตองไปเปด เชน http://www.se-ed.net/yourname/thai.pl
่
หรือ http://yourname.netfirms.com/cgi-bin/thai.pl
18.4 การอานขอมูลจากแฟมมาพิมพ
ถาทานมีขอมูลอยูใน data.csv มีโครงสรางแบบ CSVDelimited (Comma Separated Value) ที่
สรางดวย notepad หรือไดแฟมมาจากโปรแกรม Microsoft Excel เมือสงเขาไปใน Web server ทานสามารถ
่
<<< 146 Introduction to Webmaster
PDF created with FinePrint pdfFactory Pro trial version http://www.pdffactory.com
- 5. บทที่ 18 : ภาษา PERL
เขียนโปรแกรมดวยภาษา PERL เพืออานขอมูลจากแฟมนี้มาแสดงผล
่
ตัวอยาง source code ที่ใชเปนดังนี้
#!/usr/bin/perl
print “Content-type:text/htmlnn”;
$filename = ‘data.csv’;
open(myfile,“$filename”);
@getrec=<myfile>;
close(myfile);
$cnt=@getrec;
for $i (0..$cnt-1){
@rec=split(/,/,$getrec[$i]);
print $i + 1, “-”,$rec[0], “-”,$rec[1], “<br>”;
}
ภาพแสดงแฟมขอมูลทีสรางดวย Microsoft Excel และแสดงผลลัพธจากการประมวลผลใน IE
่
เว็บโปรแกรมเมอร
เรื่ อ งน า รู สํา หรั บ
18.5 การแสดงคาสภาพแวดลอมทั้งหมด
โปรแกรมนีชวยนักพัฒนาเลือกใชตวแปรจากระบบ บางครังตองการทราบคา DOCUMENT
้ ั ้
ตอนที่
3:
_ROOT ของระบบทีใชอยู เพราะผูใชบริการอาจไมไดเขียนคําอธิบาย นักพัฒนาตองเขียนโปรแกรมขึนมา
่ ้
ตรวจสอบคาเหลานีในเครืองบริการ (Web server) และนําไปใชตามความตองการ คําสังเพือเรียกคาบางคา
้ ่ ่ ่
มาใชเขียนไดดงนี้ print “$ENV{‘DOCUMENT_ROOT’}”; หรือ print $ENV{“DOCUMENT_ROOT”};
ั
โปรแกรมแสดงคา $ENV ทังหมด ้
#!usr/bin/perl
print “Content-type:text/htmlnn”;
foreach $key (keys(%ENV)){
print “<b>$key</b>=$ENV{$key}<br>”;
}
ปรับปรุง : มิถุนายน 2546 147
>>>
PDF created with FinePrint pdfFactory Pro trial version http://www.pdffactory.com
- 6. ตอนที่ 1 : เรื่องนารูสําหรับมือใหม
18.6 แนะนําเว็บไซต
1. http://www.activeperl.com ผูพฒนาโปรแกรมเพือใหบริการภาษา perl
ั ่
2. http://www.netfirms.com ผูใหบริการ Free web hosting 25 Mb
3. http://www.perl.com แหลงอางอิงเกี่ยวกับภาษา perl โดย O’Reilly
4. http://www.perl.org แหลงอางอิงภาษา Perl ที่นาศึกษาอีกแหงหนึ่ง
5. http://www.se-ed.net ผูใหบริการ Free web hosting 15 Mb
6. http://www.thaiall.com/perl บทเรียนสอนเขียนภาษา PERL โดยผูเขียน
<<< 148 Introduction to Webmaster
PDF created with FinePrint pdfFactory Pro trial version http://www.pdffactory.com