Perl ยืมคุณสมบัติจาก C, sed, awk, เชลล์สคริปต์ และภาษาการเขียนโปรแกรมอื่นๆ อีกมากมาย ไวยากรณ์ค่อนข้างคล้ายกับภาษาเหล่านี้ แต่ก็มีลักษณะเฉพาะของตัวเองเช่นกัน
โปรแกรม Perl ประกอบด้วยการประกาศและคำสั่งต่างๆ โปรแกรมจะดำเนินการจากบนลงล่าง รวมถึงลูปและการควบคุมแบบมีเงื่อนไข แต่ละคำสั่งจะลงท้ายด้วยเครื่องหมายอัฒภาค (;)
ภาษา Perl ไม่มีข้อกำหนดการจัดรูปแบบที่เข้มงวด และคุณสามารถเยื้องตามสไตล์ที่คุณชื่นชอบได้
คุณสามารถใช้ตัวเลือก -e บนบรรทัดคำสั่งเพื่อป้อนคำสั่งเพื่อรันโค้ด ตัวอย่างมีดังนี้:
$ perl -e 'พิมพ์ "สวัสดีชาวโลกn"'
ป้อนคำสั่งด้านบนแล้วกด Enter ผลลัพธ์ที่ได้คือ:
สวัสดีชาวโลก
เราใส่โค้ดต่อไปนี้ลงในไฟล์ hello.pl :
ในโค้ด /usr/bin/perl คือเส้นทางของล่าม Perl ก่อนที่จะรันสคริปต์ ตรวจสอบให้แน่ใจว่าไฟล์นั้นมีสิทธิ์ในการปฏิบัติการ เราสามารถเปลี่ยนการอนุญาตของไฟล์เป็น 0755 ก่อน:
$ chmod 0755 hello.pl $ ./hello.pl สวัสดีชาวโลก # ผลลัพธ์เอาท์พุต
print ยังสามารถใช้วงเล็บเพื่อส่งออกสตริงได้ สองคำสั่งต่อไปนี้ให้ผลลัพธ์เหมือนกัน:
print("สวัสดีชาวโลกn");พิมพ์ "สวัสดีชาวโลกn";
โค้ด Perl สามารถเขียนเป็นไฟล์ข้อความได้ โดยมี .pl, .PL เป็นส่วนต่อท้าย
ชื่อไฟล์สามารถมีตัวเลข สัญลักษณ์ และตัวอักษรได้ แต่ไม่สามารถใช้เครื่องหมายขีดล่าง (_) เพื่อแทนที่ช่องว่างได้
ชื่อไฟล์ Perl ธรรมดา:
run_oob.pl
เป็นการฝึกเขียนโปรแกรมที่ดีที่จะใช้ความคิดเห็นเพื่อทำให้โปรแกรมของคุณอ่านง่ายขึ้น
วิธีแสดงความคิดเห็นในภาษา Perl คือการใช้อักขระ # ที่จุดเริ่มต้นของคำสั่ง เช่น:
# บรรทัดนี้เป็นความคิดเห็นในภาษา Perl
Perl ยังรองรับความคิดเห็นแบบหลายบรรทัดอีกด้วย วิธีที่พบบ่อยที่สุดคือการใช้ POD (Plain Old Documentations) เพื่อแสดงความคิดเห็นแบบหลายบรรทัด วิธีการมีดังนี้:
เมื่อรันโปรแกรมข้างต้น ผลลัพธ์ที่ได้คือ:
สวัสดีชาวโลก
สังเกต:
=pod และ =cut สามารถใช้ได้ที่จุดเริ่มต้นของบรรทัดเท่านั้น
ขึ้นต้นด้วย = และลงท้ายด้วย =cut
= ต้องตามด้วยอักขระหนึ่งตัว และ =cut ไม่จำเป็นต้องตาม
ล่าม Perl ไม่สนใจจำนวนช่องว่าง และโปรแกรมต่อไปนี้จะทำงานได้ดี:
เมื่อรันโปรแกรมข้างต้น ผลลัพธ์ที่ได้คือ:
สวัสดีชาวโลก
แต่ถ้าช่องว่างและการขึ้นบรรทัดใหม่ปรากฏขึ้นภายในสตริง ผลลัพธ์ที่ได้จะเป็นดังนี้:
เมื่อรันโปรแกรมข้างต้น ผลลัพธ์ที่ได้คือ:
สวัสดีชาวโลก
ช่องว่างทุกประเภท เช่น ช่องว่าง แท็บ บรรทัดว่าง ฯลฯ จะถูกละเว้นโดยล่ามหากอยู่นอกเครื่องหมายคำพูด และจะถูกส่งออกเหมือนกับว่าอยู่ภายในเครื่องหมายคำพูด
สตริงเอาต์พุต Perl สามารถใช้เครื่องหมายคำพูดเดี่ยวและเครื่องหมายคำพูดคู่ได้ ดังที่แสดงด้านล่าง:
ผลลัพธ์จะเป็นดังนี้:
สวัสดีชาวโลกสวัสดีชาวโลกn
จากผลลัพธ์ เราจะเห็นว่าเครื่องหมายคำพูดคู่ n เป็นการขึ้นบรรทัดใหม่ แต่เครื่องหมายคำพูดเดี่ยวไม่ได้แสดงออกมา
ความแตกต่างระหว่างเครื่องหมายคำพูดคู่ Perl และเครื่องหมายคำพูดเดี่ยว: เครื่องหมายคำพูดคู่สามารถแยกวิเคราะห์อักขระยกเว้นและตัวแปรบางตัวได้ตามปกติ ในขณะที่เครื่องหมายคำพูดเดี่ยวไม่สามารถแยกวิเคราะห์ได้และจะถูกส่งออกตามที่เป็นอยู่
ผลลัพธ์จะเป็นดังนี้:
ก = 10a = $กn
เอกสาร Here หรือที่รู้จักในชื่อ Heredoc, hereis, here-string หรือ here-script เป็นเอกสารที่ใช้ในเชลล์บรรทัดคำสั่ง (เช่น sh, csh, ksh, bash, PowerShell และ zsh) และภาษาการเขียนโปรแกรม (เช่น Perl, PHP, Python และวิธีกำหนดสตริงใน Ruby)
ภาพรวมการใช้งาน:
1. ต้องตามด้วยเครื่องหมายอัฒภาค ไม่เช่นนั้นการคอมไพล์จะไม่ผ่าน
2.END สามารถแทนที่ได้ด้วยอักขระอื่น ๆ ตราบใดที่ตัวระบุสิ้นสุดสอดคล้องกับตัวระบุเริ่มต้น
3. เครื่องหมายสิ้นสุดจะต้องอยู่บนบรรทัดโดยตัวมันเองที่ด้านบนของบรรทัด (นั่นคือ จะต้องเริ่มจากจุดเริ่มต้นของบรรทัด และไม่สามารถเชื่อมต่อกับช่องว่างหรืออักขระใดๆ ได้)
4. เครื่องหมายเริ่มต้นสามารถไม่มีเครื่องหมายคำพูดหรือเครื่องหมายคำพูดเดี่ยวหรือคู่ได้ หากไม่มีเครื่องหมายคำพูดคู่ ผลกระทบจะเหมือนกับเครื่องหมายคำพูดคู่ที่ฝังอยู่ สัญลักษณ์ไม่ได้รับการตีความ
5. เมื่อเนื้อหาจำเป็นต้องมีเครื่องหมายคำพูดแบบฝัง (เครื่องหมายคำพูดเดี่ยวหรือเครื่องหมายคำพูดคู่) ไม่จำเป็นต้องเพิ่มอักขระหลีก เครื่องหมายคำพูดเดี่ยวและเครื่องหมายคำพูดคู่จะถูกหลีกด้วยตัวเอง ซึ่งเทียบเท่ากับการใช้ q และ qq
ผลลัพธ์ของการรันโปรแกรมข้างต้นคือ:
นี่คือตัวอย่างของเอกสาร Here โดยใช้เครื่องหมายคำพูดคู่ คุณสามารถป้อนสตริงและตัวแปรได้ที่นี่ ตัวอย่างเช่น: a = 10 นี่คืออินสแตนซ์เอกสารของ Here โดยใช้เครื่องหมายคำพูดเดี่ยว ตัวอย่างเช่น: a = $a
หากเราต้องการแสดงอักขระพิเศษ เราสามารถใช้แบ็กสแลช () เพื่อหลีกอักขระนั้นได้ เช่น ส่งออกเครื่องหมายดอลลาร์ ($):
ผลลัพธ์ของการรันโปรแกรมข้างต้นคือ:
ตัวระบุ Perl คือชื่อที่ผู้ใช้ใช้ในการเขียนโปรแกรม ชื่อตัวแปร ชื่อคงที่ ชื่อฟังก์ชัน ชื่อบล็อกคำสั่ง ฯลฯ ที่ใช้ในโปรแกรมเรียกรวมกันว่าตัวระบุ
ส่วนประกอบตัวระบุ: ตัวอักษรภาษาอังกฤษ (a~z, A~Z) ตัวเลข (0~9) และขีดล่าง (_)
ตัวระบุจะขึ้นต้นด้วยตัวอักษรภาษาอังกฤษหรือขีดล่าง
ตัวระบุต้องตรงตามตัวพิมพ์ใหญ่-เล็ก โดยที่ $codercto และ $Codercto แสดงถึงตัวแปรสองตัวที่แตกต่างกัน