การเขียน Script ในรูปแบบ functional-oriented : Perl
 

Blog :: Perl :: การเขียน Script ในรูปแบบ functional-oriented

ในบทความที่แล้วผมได้แนะนำวิธีการเขียนโค้ดโดยใช้ CGI Module เพื่อแสดงผลบนหน้าเว็บ ในแบบ funtional-oriented ไปแล้วนะครับ ซึ่งเป็นการแนะนำวิธีการเขียนคร่าว ๆ เท่านั้น แต่ผู้อ่านอาจจะงงว่า จะเข้าใจไหมเนี่ย ฟังก์ชันอะไรก็ไม่รู้.... ไม่ต้องห่วงครับ ในบทความนี้ผมจะคลายข้อสงสัยทั้งหมดนี้เอง ไปดูกันเลยครับ


ตัวอย่าง การเขียน Script "hello.cgi" แบบ functional-oriented

#!/usr/bin/perl pT

use strict;
use CGI;

print header;
print start_html('Hello World');
print h1('Hello World');
print end_html;

exit;

เรามาดูคำอธิบายกันครับ

#!/usr/bin/perl -T

คำสั่งนี้เป็นการกำหนด Path ของตัวแปรภาษา Perl ที่เราติดตั้งมันไว้ เพื่อให้มันทำการแปลภาษาใน Script ที่เราเขียนขึ้นมาในไฟล์นั้น โดยการใช้ Option -T ก็เพื่อเป็นการรักษาความปลอดภายอย่างหนึ่งของ CGI Programs

use strict;

การใช้ strict นี้ก็เหมือนกับการใช้ option -T เนื่องจากคำสั่ง strict จะทำการตรวจสอบ Code ของเราว่ามีความปลอดภัยพอหรือไม่ ซึ่งผู้อ่านจะใช้โค้ดบรรทัดนี้ใน Script อื่น ๆ ด้วย

use CGI ':standart';

เป็นการเรียกใช้ CGI Module โดยที่ผมได้ทำการเรียกใช้ method ที่อยู่ในกลุ่มของ standard โดยเราสามารถเรียกใช้ module ได้หลายวิธีเช่น use CGI qw(:standard); use CGI qw/:standard/;

print header;
print start_html('Hello World');
print h1('Hello World');
print end_html();

ฟังก์ชันแรกก็คือ header() มันจะทำการส่ง Content-Type ไปยัง browser (ซึ่งฟังก์ชันนี้จะต้องมีทุกครั้งในการเรียกใช้ CGI Module) ซึ่งในโค้ดจะเห็นว่าเราเรียกใช้ฟังก์ชัน header() ในแบบ header เท่านั้น นั่นก็คือเราสามารถ เรียกใช้ฟังก์ชันได้ 2 แบบ ก็คือแบบใส่วงเล็บและไม่ใส่วงเล็บนั่นเอง การเรียกใช้ฟังก์ชัน header() นี้จะให้ผลลัพธ์เหมือนกับการใช้คำสั่งนี้

print "Content-Type: text/html\n\n";

ฟังก์ชันต่อมาคือฟังก์ชัน start_html() ซึ่งเป็นฟังก์ชันที่ใช้เริ่มส่วนของ HTML ของหน้าเพจนั้น ๆ ด้วยอิลิเมนต์ title, html, head โดยในโค้ดด้านบนจะเห็นว่าผมได้ส่งค่าพารามิเตอร์ไปหนึ่งตัวคือ 'Hello World' นั่นก็คือเป็นการ กำหนดให้ title ของเพจแสดงตามค่าพารามิเตอร์นั้น ๆ

ฟังก์ชันต่อมาก็คือ h1() ซึ่งฟังก์ชันนี้จะเปรียบเสมือนอิลิเมนต์ h1 ของแท็ก HTML ซึ่งค่าพารามิเตอร์ที่ส่งไปก็คือข้อความที่อยู่ภายในแท็ก h1 นั่นเองครับ

ฟังก์ชันตัวสุดท้ายก็คือ end_html() ซึ่งฟังก์ชันนี้จะเป็นการปิดแท็ก html โดยอิลิเมนต์ </body> และ </html> เพื่อเป็นการสิ้นสุดเอกสาร HTML ครับ


0 Comment

  • Have no comment.

Comment Blog

 
 
 
Share This Topic Login with Facebook