เริ่มเขียนโปรแกรมพื้นฐาน | ||
ข้อควรทราบ |
Netscape Internet Explorer |
โปรแกรม perl ตัวแรก |
ขอให้ถือว่าโปรแกรมนี้เป็นโปรแกรม perl ตัวแรกของชีวิต ที่ต้อง run ให้ออกเลยนะครับ เพราะผมไม่มีโปรแกรมที่ง่าย และดูดีกว่านี้อีกแล้ว และถ้า run โปรแกรมนี้ออก ค่อยเริ่มบทเรียนอื่นต่อนะครับ ให้ save ตัวอย่าง 4 บรรทัดนี้ เป็นไฟล์ชื่อ lct.pl เก็บไว้ในห้อง /perl ที่ xxx.hypermart.net โดยสมมุติให้ xxx เป็นชื่อ account ของผู้ศึกษาเอง เมื่อส่งเข้าไป ให้ส่งเข้าไปแบบ text เพราะถ้าส่งแบบ binary จะมีปัญหา ตัวอย่าง ทดลอง run perl ตัวนี้โดยการเปิดเว็บนี้ใน browser เช่น http://thaiwebsearch.hypermart.net/perl/lct.pl บนจอภาพจะปรากฎคำว่า Tue Oct 26 20:50:41 1999 ซึ่งเป็นผลลัพธ์ เพราะผมลองโปรแกรมนี้ในวันเวลาดังกล่าว แต่เวลานี้เป็นเวลาของเครื่อง server ในต่างประเทศนะครับ ไม่ใช่เวลาที่นาฬิกาข้อมือของผม |
ตัวอย่างคำสั่ง | อธิบายคำสั่ง |
#!/usr/local/bin/perl print"Content-type:text/html\n\n"; $lct = localtime(time); print $lct; |
กำหนดให้ server เรียก perl ใน directory นั้นมาประมวลผล สั่งพิมพ์บรรทัดนี้ เพื่อผลบนเว็บถูกต้อง แต่จะไม่แสดงอะไรในเว็บนะครับ ให้ฟังก์ชั่น localtime เรียกเวลาไปเก็บในตัวแปร $lct พิมพ์ตัวแปร $lct ซึ่งเป็นผลลัพธ์ทางเว็บ |
พิมพ์ 1 ถึง 10 แบบที่ 1 |
ตัวอย่างการทำซ้ำด้วย for |
ตัวอย่างคำสั่ง | อธิบายคำสั่ง |
#!/usr/local/bin/perl print"Content-type:text/html\n\n"; for $i (1 .. 10) { print $i; print "<br>"; } |
ตัวอย่างนี้แสดงการพิมพ์ 1 ถึง 10 บรรทัดละจำนวน ด้วยคำสั่ง for |
พิมพ์ 1 ถึง 10 แบบที่ 2 |
ตัวอย่างการทำซ้ำด้วย for ซึ่งมีรูปแบบใกล้เคียงกับภาษา C |
ตัวอย่างคำสั่ง | อธิบายคำสั่ง |
#!/usr/local/bin/perl print"Content-type:text/html\n\n"; for ($i=1; $i <= 10; $i++) { print $i,"<br>"; } |
ตัวอย่างนี้แสดงการพิมพ์ 1 ถึง 10 บรรทัดละจำนวน ด้วยคำสั่ง for |
พิมพ์ 1 ถึง 10 แบบที่ 3 |
ตัวอย่างการทำซ้ำด้วย while |
ตัวอย่างคำสั่ง | อธิบายคำสั่ง |
#!/usr/local/bin/perl print"Content-type:text/html\n\n"; $i = 1; while ($i <= 10) { print $i,"<br>"; $i++; } |
ตัวอย่างนี้แสดงการพิมพ์ 1 ถึง 10 บรรทัดละจำนวน ด้วยคำสั่ง while |
พิมพ์เวลาปัจจุบัน |
ให้ผู้ใช้ทดเวลาเอาเองจนกระทั่งเท่าเวลาที่นาฬิกาข้อมือขอตนเอง ด้วยการใช้ + หรือ - time ใน ฟังก์ชั่น localtime ดังตัวอย่างข้างล่าง |
ตัวอย่างคำสั่ง | อธิบายคำสั่ง |
#!/usr/local/bin/perl print"Content-type:text/html\n\n"; $lct = localtime(time); print "Server time : ",$lct,"<br>"; $lct = localtime(time + 3600); print "Your time : ",$lct,"<br>"; ($sec,$min,$hr,$day,$month,$year,$dofw,$dofy,$sm)=localtime(time); print "sec : ",$sec,"<br>"; print "min : ",$min,"<br>"; print "hr : ",$hr,"<br>"; print "day : ",$day,"<br>"; print "month : ",$month,"<br>"; print "year : ",$year,"<br>"; print "day of week : ",$dofw,"<br>"; print "day of year : ",$dofy,"<br>"; print "some : ",$sm,"<br>"; |
พิมพ์เวลาปัจจุบัน จะเห็นว่า 3600 เท่ากับ 1 ชั่วโมง ตัวอย่างผลลัพธ์ Server time : Tue Oct 26 22:02:18 1999 Your time : Tue Oct 26 23:02:18 1999 sec : 18 min : 2 hr : 22 day : 26 month : 9 year : 99 day of week : 2 day of year : 298 some : 0 |
พิมพ์เวลาปัจจุบัน เป็นภาษาไทย |
ถ้าท่านต้องการพิมพ์เวลาเป็น พ.ศ. และชื่อเดือนเป็นไทยล่ะก็ ตัวอย่างนี้ .. ใช่เลย และยังแต่งเวลาให้เป็นเลข 2 หลัก เช่น เลข 3 ก็จะเปลี่ยนเป็น 03 ให้อัตโนมัติ |
ตัวอย่างคำสั่ง | อธิบายคำสั่ง |
#!/usr/local/bin/perl print"Content-type:text/html\n\n"; ($sec,$min,$hr,$day,$mth,$yr,$dw,$dy,$sm)=localtime(time+36000); if ($mth eq 0) { $m = 'มกราคม';} if ($mth eq 1) { $m = 'กุมภาพันธ์';} if ($mth eq 2) { $m = 'มีนาคม';} if ($mth eq 3) { $m = 'เมษายน';} if ($mth eq 4) { $m = 'พฤษภาคม';} if ($mth eq 5) { $m = 'มิถุนายน';} if ($mth eq 6) { $m = 'กรกฎาคม';} if ($mth eq 7) { $m = 'สิงหาคม';} if ($mth eq 8) { $m = 'กันยายน';} if ($mth eq 9) { $m = 'ตุลาคม';} if ($mth eq 10) { $m = 'พฤศจิกายน';} if ($mth eq 11) { $m = 'ธันวาคม';} $y = $yr + 2443; print $day," ",$m," ",$y,"<br>"; if ($hr < 10) { print "0"; } print $hr,":"; if ($min < 10) { print "0"; } print $min,":"; if ($sec < 10) { print "0"; } print $sec; |
พิมพ์วันเวลาปัจจุบัน โดยผ่านการจัดรูปแบบ สังเกตุว่าเลขเดือนเริ่มจาก 0 ตัวอย่างผลลัพธ์ 27 ตุลาคม 2542 08:24:02 |
แบบฝึกหัด |
|
+ ผู้สนับสนุน + รับผู้สนับสนุน |