พื้นฐานของ Perl - สตริง, ตัวเลข, อาร์เรย์, แฮช การใช้นิพจน์ทั่วไปเพื่อค้นหาด้วยคำสำคัญ ปีสุดท้ายของการทำงานนำมาซึ่งอะไร?

ในความเห็นของเรา คำนำควรให้ข้อมูลแก่ผู้อ่านตามที่เขาตัดสินใจว่าเขาต้องการหนังสือเล่มนี้หรือไม่

หนังสือของเราเกี่ยวกับอะไร? แน่นอนว่ามันเป็นเรื่องของภาษา Perl เพราะนั่นคือสิ่งที่กล่าวไว้ในชื่อเรื่อง ใครต้องการมัน Perl นี้? ผู้ที่สร้างสคริปต์ CGI จะดูแลระบบโดยการเขียนสคริปต์แทนที่จะคลิกปุ่มซ้ายของเมาส์ ประมวลผลข้อความ และแก้ไขงานอื่นๆ อีกมากมายจาก พื้นที่ที่เกี่ยวข้องและในขณะเดียวกันก็ต้องการเครื่องมือที่ทรงพลัง แต่ใช้งานง่ายที่ให้คุณสร้างสรรค์ผลงานได้ โปรแกรมขนาดใหญ่และโปรแกรมขนาดเล็กและทดลองใช้อย่างรวดเร็ว นอกจากนี้ยังเป็นประโยชน์สำหรับผู้ที่สอนการเขียนโปรแกรมให้มีความเข้าใจภาษานี้ด้วยเนื่องจากมีคุณสมบัติที่น่าสนใจที่ขาดหายไปในภาษาโปรแกรมแบบเดิมที่ใช้ในกระบวนการสอน

เราชอบคุณสมบัติบางอย่างของภาษา: การพึ่งพาผลลัพธ์กับบริบท อาร์เรย์ที่เชื่อมโยงประเภทข้อมูล typeglob แพ็คเกจ การใช้งานการเขียนโปรแกรมเชิงวัตถุ และแน่นอนว่ารวมถึงเครื่องมือประมวลผลข้อความ หากคุณไม่สนใจที่จะค้นหาความหมายทั้งหมดเป็นอย่างน้อย คุณสามารถวางหนังสือลงได้ หากคุณรู้ทุกอย่างที่กล่าวมาข้างต้นแล้ว คุณก็สามารถละเว้นได้ เนื่องจากหนังสือเล่มนี้เหมาะสำหรับผู้อ่านที่เพิ่งเริ่มเรียนรู้ Perl ด้วยตัวเอง

สร้างภาษา Perl แล้ว โปรแกรมเมอร์ระบบ Larry Wall เป็นเครื่องมือ UNIX ที่ช่วยให้คุณสามารถ "รวมเข้าด้วยกัน" สคริปต์ขนาดใหญ่จากโปรแกรมที่ทำหน้าที่ส่วนบุคคลเพื่อแก้ไขชุดงานที่เกี่ยวข้องกับการดูแลระบบการประมวลผลข้อความ ฯลฯ ต่อมาได้ไปไกลกว่ากรอบนี้และกลายเป็นการเขียนโปรแกรมจริง ภาษาที่สะท้อนถึงแนวโน้มมากมายที่เกิดขึ้นในเทคโนโลยีการเขียนโปรแกรมในช่วงทศวรรษที่ผ่านมาและแพร่หลายในด้านการพัฒนาอินเทอร์เน็ต Perl เป็นเครื่องมือหลักในการสร้างแอพพลิเคชั่น CGI สะดวกสำหรับการแก้ปัญหาการดูแลระบบเว็บเซิร์ฟเวอร์ อีเมลและระบบอื่นๆ ด้วยความเร็วและความสะดวกในการเขียนสคริปต์ในภาษานี้ ภาษา Perl ได้แพร่กระจายไปยังแพลตฟอร์มอื่น ๆ เช่น DOS, Windows, OS/2, Mac, VMS ฯลฯ ข้อดีหลักประการหนึ่งของภาษา Perl ก็คือความเปิดกว้างและการเข้าถึงได้ ใน เครือข่ายอินเทอร์เน็ตคุณสามารถรับมันได้ฟรีโดยสมบูรณ์ ข้อความต้นฉบับล่าม Perl (Perl เป็นภาษาที่แปลซึ่งในบางกรณีเป็นข้อได้เปรียบ) และโมดูลส่วนขยาย

หนังสือเล่มนี้เป็นคู่มือการใช้งานภาษา Perl ซึ่งได้รับการศึกษาตั้งแต่เริ่มต้นเช่น สันนิษฐานว่าผู้อ่านไม่คุ้นเคยกับภาษานี้ - เขาจะเรียนรู้ทุกสิ่งที่เขาต้องการโดยการศึกษาหัวข้อและ รวบรวมเนื้อหาที่ครอบคลุม ตอบคำถาม และทำแบบฝึกหัดท้ายบทแต่ละบท ให้เราขอย้ำอีกครั้งว่าเนื้อหาที่นำเสนอนี้เป็นเพียงพื้นฐานของภาษา Perl เท่านั้น หนังสือเล่มนี้ไม่ได้ตั้งใจให้เป็นตำราเรียนเกี่ยวกับการเขียนโปรแกรม Perl แต่อย่างใด ในนั้นคุณจะไม่พบวิธีการเขียนโปรแกรมหรือสูตรสำเร็จรูปสำหรับการแก้ปัญหา แต่ไม่มีคำอธิบายโดยละเอียดของโมดูลที่ใช้บ่อยที่สุดและการแก้ปัญหาด้วยความช่วยเหลือ แต่หลังจากอ่านหนังสือแล้วคุณจะได้รับ ความรู้พื้นฐานซึ่งจะช่วยให้คุณเข้าใจสคริปต์ Perl ใด ๆ

คุณกำลังจะเดินทางเข้าสู่โลกแห่งการเขียนโปรแกรม Perl การเดินทางของคุณจะสนุกสนานยิ่งขึ้นเนื่องจากการมีอยู่จริง ปริมาณมากตัวอย่างที่จะปรากฏตลอดทาง จุดเริ่มต้นของการเดินทางของเราครอบคลุมแนวคิดพื้นฐานของภาษา คุณจะค่อยๆ เรียนรู้เกี่ยวกับ Perl มากพอสำหรับการสร้างโปรแกรมขนาดเล็ก เมื่อสิ้นสุดการเดินทาง คุณจะมีความรู้ที่จำเป็นอยู่แล้วในการสร้างแอปพลิเคชันที่ครบครัน

คุณพูดภาษาโปรแกรมอื่น ๆ ได้หรือไม่? ถ้าใช่ การเรียนรู้ภาษา Perl จะทำให้คุณเพลิดเพลิน ถ้าไม่เช่นนั้น อย่าเพิ่งรีบ ลองทำแบบฝึกหัดและตัวอย่างที่แนะนำทั้งหมด และอย่ากลัวที่จะทดลอง!

ต้นทาง

Perl เป็นผลมาจากความพยายามของชายคนหนึ่ง และจากการยอมรับของเขาเอง ความเกียจคร้านของเขา นี้ - ภาษาที่เป็นเอกลักษณ์แก่นแท้ที่ไม่สามารถถ่ายทอดได้ คำอธิบายง่ายๆรายละเอียดทางเทคนิค Perl คือสภาวะของจิตใจ

นิสัยใจคออย่างหนึ่งของภาษาคือชื่อของมัน มันมีคำจำกัดความหลายประการ Perl เดิมย่อมาจากภาษารายงานการสกัดเชิงปฏิบัติ อย่างไรก็ตาม โปรแกรมเมอร์มักเรียกมันว่า Phatologically Eclectic Rubbish Lister หรือแม้แต่แทบทุกอย่างที่เป็นที่ชื่นชอบจริงๆ

เราใช้เวลาสักครู่เพื่อทำความเข้าใจว่า Perl คืออะไร และงานใดบ้างที่ได้รับมอบหมายในขณะที่สร้าง Perl ย้อนกลับไปในปี 1986 แลร์รี วอลล์กำลังแก้ไขปัญหาในการสร้างรายงานจากไฟล์ข้อความจำนวนมากที่ทับซ้อนกัน ด้วยความที่เป็นโปรแกรมเมอร์ Unix และเนื่องจากงานเกี่ยวข้องกับการจัดการเนื้อหาของไฟล์ข้อความ เขาจึงลองใช้ Awk เป็นครั้งแรก แต่ไม่นานก็เห็นได้ชัดว่า Awk ไม่เหมาะกับงานนี้ และเมื่อไม่มีผู้สมัครคนอื่นมาแก้ไขปัญหา สิ่งเดียวที่เหลือก็คือคิดค้นเครื่องมือของตัวเองที่สามารถนำมาใช้ในอนาคตได้

แทนที่จะเสียเวลา Larry กลับคิดค้นภาษาการเขียนโปรแกรมใหม่และเขียนล่ามให้กับมัน สิ่งนี้ดูเหมือนขัดแย้งกัน แต่ก็ไม่เป็นความจริงทั้งหมด - สิ่งที่คุณทำมักจะต้องใช้ความพยายามมาก แต่ถ้าคุณทำอย่างถูกต้อง งานนี้ก็จะได้ผลอย่างแน่นอน

ในไม่ช้าแลร์รีก็เสนอผลงานของเขาให้กับชุมชนผู้อ่านข่าว Usenet ผู้ใช้ที่สามารถเข้าถึง Usenet ทำให้ผู้สร้าง Perl มีประสิทธิภาพ " การสนับสนุนข้อเสนอแนะ"ถามถึงวิธีการทำสิ่งนั้น ข้อที่สาม ปัญหามากมายเหล่านี้แลร์รี่ไม่ได้ตั้งใจจะพูดถึงภาษาการเขียนโปรแกรมใหม่เล็กๆ น้อยๆ ของเขาด้วยซ้ำ

ภาษาการเขียนโปรแกรมใหม่เน้นการควบคุมระบบและการประมวลผลข้อความ หลังจากการแก้ไขหลายครั้ง ก็สามารถใช้นิพจน์ทั่วไป สัญญาณ และซ็อกเก็ตเครือข่ายได้แล้ว มันกลายเป็นที่รู้จักในชื่อ Perl และได้รับความนิยมอย่างรวดเร็วในหมู่โปรแกรมเมอร์ Unix และในไม่ช้าพวกเราที่เหลือ

Larry ไม่ได้ดูแล Perl เพียงอย่างเดียวอีกต่อไป แต่ยังคงรักษาตำแหน่งผู้นำนักพัฒนาแต่เพียงผู้เดียว

โปรแกรม Perl มีความคล้ายคลึงกับโปรแกรม C มาก อาจเป็นเพราะ Perl เขียนด้วยภาษา C และอาจเป็นเพราะ Larry พบว่าโครงสร้าง C บางอย่างมีประโยชน์ แต่ Perl มีความอวดรู้น้อยกว่าและกระชับมากกว่าภาษา C

Perl ได้รับการออกแบบมาเพื่อช่วยให้โปรแกรมเมอร์ทำ งานประจำซึ่งยากเกินไปหรือพกพาได้ไม่ดีสำหรับเชลล์ และซับซ้อนเกินไปหรือยากเกินไปในการเขียนโค้ดสำหรับ C (หรือภาษาอื่น ๆ )

เมื่อคุณเชี่ยวชาญ Perl แล้ว คุณอาจพบว่าคุณใช้เวลาน้อยลงอย่างเห็นได้ชัดในการอ้างอิงพารามิเตอร์เชลล์ต่างๆ (หรือดำเนินการประกาศ C อย่างถูกต้อง) และมีเวลามากขึ้นในการอ่านข่าว Usenet และเล่นสกีลงจากภูเขา เนื่องจาก Perl เป็นเครื่องมือที่ยอดเยี่ยมที่จะช่วยให้คุณกลายเป็น โปรแกรมเมอร์ “คนโบราณบางคน” กล่าวว่า “คุณไม่ควรเรียนรู้ภาษาการเขียนโปรแกรมที่ไม่ได้เปลี่ยนความเข้าใจในการเขียนโปรแกรมของคุณอย่างสิ้นเชิง” มั่นใจได้เลยว่าเมื่อคุณเรียน Perl แล้ว คุณจะมองการเขียนโปรแกรมจากมุมมองที่แตกต่างไปจากเดิมอย่างสิ้นเชิง

โครงสร้างอันทรงพลังของภาษานี้ช่วยให้คุณสร้างสรรค์ได้อย่างมาก โซลูชั่นที่มีประสิทธิภาพและ เครื่องมือสากล- เครื่องมือเหล่านี้สามารถใช้ได้ในอนาคตเนื่องจากโปรแกรมที่เขียนด้วยภาษา Perl พกพาสะดวกและพร้อมใช้งาน เป็นผลให้คุณจะมีเวลามากขึ้นในการอ่านข่าว Usenet และไปบาร์กับเพื่อน ๆ

Perl สามารถจัดการงานต่างๆ ได้ดีมาก ระดับต่ำโดยเฉพาะหลังจากการเปิดตัวเวอร์ชันที่ 5 ของภาษา

ค่าใช้จ่ายและใบอนุญาต

เพิร์ลนั้นฟรี เพื่อให้ชัดเจนยิ่งขึ้น Perl ได้รับการเผยแพร่ภายใต้ GNU Public License ซอร์สโค้ดและเอกสารประกอบที่สมบูรณ์สามารถคัดลอก คอมไพล์ และพิมพ์ได้ฟรี โปรแกรมทั้งหมดที่คุณเขียนด้วยภาษา Perl นั้นเป็นของคุณและคุณสามารถทำอะไรก็ได้ตามต้องการ

นอกจากคอมพิวเตอร์ UNIX แล้ว Perl ยังมีให้บริการสำหรับแพลตฟอร์มอื่น ๆ เช่น Windows, DOS, Atari, Amiga เป็นต้น

คุณติดตั้ง Perl แล้วหรือยัง?

ง่ายมากที่จะทราบว่าคุณมี Perl หรือไม่ เพียงออกคำสั่งต่อไปนี้บนบรรทัดคำสั่ง:

เพิร์ล-v นี่คือ Perl เวอร์ชัน 5.001
patchlevel อย่างไม่เป็นทางการ 1m
ลิขสิทธิ์ 1987-1994 พอร์ต Larry Wall Win32 ลิขสิทธิ์ 1995 Microsoft Corporation สงวนลิขสิทธิ์.
พัฒนาโดยสะโพกสื่อสาร iNC., //info.hip.com/info/
Perl สำหรับ Win32 รุ่น 107
สร้างเมื่อ 16 เม.ย. 1996@14:47:22
Perl สามารถคัดลอกได้เฉพาะภายใต้เงื่อนไขของ Artistic License หรือ GNU General Public License ซึ่งอาจพบได้ใน Perl 5.0 source kit

หากคุณได้รับข้อความแสดงข้อผิดพลาดหรือคุณมี Perl เวอร์ชัน 4 โปรดติดต่อคุณ ผู้ดูแลระบบหรือติดตั้ง Perl ด้วยตัวเอง

โปรแกรม Perl แรกของคุณ

โปรแกรม Perl โปรแกรมแรกของคุณจะแสดงการพิมพ์บรรทัดข้อความลงบนหน้าจอ ก่อนอื่นคุณต้องสร้างความเรียบง่าย ไฟล์ข้อความซึ่งจะมีโปรแกรม Perl ของคุณ จากนั้นคุณจะเรียกใช้ไฟล์โปรแกรมของคุณ

การสร้างโปรแกรม

โปรแกรม Perl เป็นไฟล์ข้อความปกติที่มีโครงสร้างหลายภาษา อย่างหลังมักจะมีลักษณะคล้ายกับส่วนผสมของ C, เชลล์สคริปต์ Unix และ ภาษาอังกฤษ- โดยทั่วไปแล้วมันก็เป็นเช่นนั้นจริงๆ

รหัส Perl มีความหลากหลายมาก ต่อไปนี้เป็นกฎพื้นฐานบางประการ:

ช่องว่างนำหน้าในบรรทัดจะถูกละเว้น คุณสามารถวางคำสั่งภาษาได้ทุกที่ที่คุณต้องการ: ที่จุดเริ่มต้นของบรรทัด, เยื้อง (แนะนำ) หรือแม้แต่จัดชิดขวา (แต่ในกรณีนี้ มันจะยากมากที่จะอ่านข้อความโปรแกรมและทำความเข้าใจสิ่งใด ๆ )

โครงสร้างภาษาต้องลงท้ายด้วยเครื่องหมายอัฒภาค เว้นแต่จะเป็นโครงสร้างสุดท้ายในบล็อกหรือไฟล์ หรือเป็นคำสั่ง eval

ช่องว่าง แท็บ เส้นว่างไม่เกี่ยวข้อง - หนึ่งช่องว่างดีเท่ากับหนึ่งร้อยช่องว่างเดียวกัน ซึ่งหมายความว่าคุณสามารถแบ่งโครงสร้างภาษาออกเป็นหลายบรรทัดเพื่อความชัดเจน โดยปกติสตริงจะเป็นชุดอักขระที่ล้อมรอบด้วยเครื่องหมายคำพูด บทที่ 2 "ตัวเลขและตัวอักษรสตริง" มีข้อมูลเพิ่มเติม คำอธิบายโดยละเอียดเส้น;

สิ่งใดก็ตามที่ตามหลังอักขระ "#" จะถูกละเว้น เว้นแต่จะอยู่ภายในบรรทัด ใช้คุณสมบัตินี้เพื่อรักษาความปลอดภัยรหัสของคุณ ความคิดเห็นที่เป็นประโยชน์- ควรสังเกตว่าไม่มีความคิดเห็นหลายบรรทัด (เช่นในภาษา C) ในภาษา Perl

เช่นเดียวกับเชลล์สคริปต์ โปรแกรม Perl ประกอบด้วยคำสั่ง Perl ทั้งหมดที่มีอยู่ในไฟล์ ซึ่งถือเป็นโปรแกรมขนาดใหญ่โปรแกรมเดียวที่จะดำเนินการ ไม่มีแนวคิดเกี่ยวกับฟังก์ชันหลักเหมือนกับในภาษา C ในภาษา Perl

ข้อมูลทั้งหมดต่อไปนี้ไม่ได้อ้างว่าสมบูรณ์หรือถูกต้องแต่อย่างใด

ฉันต้องการเตือนคุณล่วงหน้าว่าบทความนี้จะไม่ทำให้คุณเป็นโปรแกรมเมอร์ PERL ระดับสุดยอด แต่จะให้ข้อมูลที่จำเป็นแก่คุณ ข้อมูลเบื้องต้นซึ่งจะช่วยให้คุณศึกษาเรื่องนี้เพิ่มเติมได้ ภาษาที่น่าสนใจที่สุดการเขียนโปรแกรม

ฉันตัดสินใจเขียนบทความนี้หลังจากที่ได้เรียนรู้ว่าการ "เข้าใจ" ทุกสิ่งทุกอย่างนั้นยากเพียงใด แม้ว่าคุณจะมีคู่มือ PERL อยู่ในมือก็ตาม ทุกที่ตั้งแต่เริ่มต้นพวกเขาเริ่มอ้างถึงคำศัพท์และคำสั่งลึกลับบางอย่างและคุณสามารถกระพริบตาด้วยความประหลาดใจหรือ (ถ้าคุณยังเข้าใจอะไรบางอย่าง) ทำให้โปรแกรมเหล่านี้ทำงานได้ (ไม่ใช่ "อย่างที่ควรจะเป็น" แต่ โดยทั่วไป !) บทความนี้อาจเรียกว่า "PERL for dummies" หากครอบคลุมเนื้อหาทั้งหมด แต่ที่นี่ฉันตั้งเป้าหมายที่จะให้เฉพาะแนวคิดเริ่มต้นที่จำเป็นแก่คุณเท่านั้น และเพื่อพูดว่า "เตรียมคุณสำหรับการต่อสู้ครั้งต่อไป" :) แม้ว่าจะมีความเป็นไปได้ค่อนข้างมากที่ในอนาคต “ตามคำร้องขอของคนงาน” บทความเล็กๆ นี้จะเติบโตเป็นอย่างอื่นมากขึ้น

เอาล่ะ... เริ่มกันเลย!

ก่อนอื่นให้ฉันบอกคุณว่าต้องติดตั้ง PERL บนคอมพิวเตอร์ของคุณ เพื่อนของฉันบางคนข้ามการดำเนินการที่ดูเรียบง่ายนี้ไปโดยสิ้นเชิง จากนั้นเมื่อเขียนโปรแกรมง่าย ๆ พวกเขาก็พยายามเรียกใช้มันมาเป็นเวลานาน... ;) แพ็คเกจ PERL ที่เข้าถึงได้มากที่สุด (ในความคิดของฉัน) คือ ActivePerl แม้ว่าแพ็คเกจนี้ มุ่งเป้าไปที่ผู้ใช้ Windows และหากคุณมี UNIX คุณสามารถดาวน์โหลดบางอย่างได้จาก www.perl.com ไม่ทางใดก็ทางหนึ่งคุณจะได้รับมันและติดตั้ง Perl ให้กับตัวคุณเอง (หากคุณยังไม่ได้ดำเนินการ) ดังนั้น: คุณจะมีโฟลเดอร์ "perl" ใหม่ แต่ไม่ได้หมายความว่าจะต้องวางโปรแกรมทั้งหมดไว้ที่นั่น :) Perl นั่งอยู่ตรงนั้นเพียงดำเนินการสร้างสรรค์อันชาญฉลาดของคุณทั้งหมดด้วยส่วนขยาย *.pl และเฉพาะที่ พวกเขาตั้งอยู่ - ผู้ใช้คนหนึ่งรู้ :) (จริงสำหรับ ผู้ใช้วินโดวส์ด้วยการติดตั้งแพ็คเกจ ActivePerl เพราะ มันเชื่อมโยงไฟล์ *.pl)

เพราะ เนื่องจากบทความนี้มีไว้สำหรับผู้ใช้ Windows เป็นหลัก ฉันจึงถือว่าตัวเองจำเป็นต้องบอกคุณว่าสำหรับโปรแกรมที่ดำเนินการในระบบปฏิบัติการนี้ ไม่จำเป็นต้องเริ่มแต่ละโปรแกรมด้วยบรรทัด:

#!/usr/bin/perl

ประเด็นก็คือภาษานี้ถูกสร้างขึ้นบนพื้นฐานของ UNIX OS และพวกเขากำลังพยายามถ่ายโอนบรรทัดนี้ให้เราเป็น "มรดก" จากระบบปฏิบัติการของพวกเขา อย่างไรก็ตาม คุณควรจำไว้ว่าเซิร์ฟเวอร์ (หากคุณตัดสินใจอัปโหลดโปรแกรมของคุณที่นั่น) อาจติดตั้ง UNIX ไว้ด้วย

ตอนนี้เล็กน้อยเกี่ยวกับวิธีการเขียน
ฉันแนะนำให้คุณเริ่มใช้แผ่นจดบันทึกธรรมดาเพื่อจดจำคำสั่งและไวยากรณ์การเขียนโปรแกรมทั้งหมด ในอนาคตคุณสามารถใช้โปรแกรมแก้ไขบางประเภทได้ แต่มันไม่สนุกอีกต่อไป :) และยิ่งไม่เป็นที่พึงปรารถนาสำหรับผู้ที่เพิ่งทำความคุ้นเคยกับภาษาการเขียนโปรแกรมนี้และการเขียนโปรแกรมโดยทั่วไป

บทเรียนเกือบทั้งหมดในภาษานี้เริ่มต้นด้วยโปรแกรมที่ง่ายที่สุด ซึ่งมีลักษณะดังนี้:

print("สวัสดีชาวโลก!\n");

บางท่านอาจคัดลอกโปรแกรมข้างต้นลงในไฟล์ของคุณแล้ว และสังเกตเห็นว่าโปรแกรมเปิดเร็วและปิดเร็วพอๆ กัน นี่เป็นเพราะว่าโปรแกรมนั้นเป็นโปรแกรม และหลังจากถูกเรียกใช้งาน มันจะปิดทันที ดังนั้นให้เพิ่มบรรทัดอื่นในโปรแกรมโดยมีเนื้อหาดังต่อไปนี้:

ในตอนท้ายทุกอย่างจะเป็นดังนี้:

print("สวัสดีชาวโลก!\n");
<>;

มันไม่ได้ดูง่ายนักสำหรับผู้ที่ไม่ได้ฝึกหัด... แม้จะน่ากลัวนิดหน่อย... แต่นี่มีไว้สำหรับผู้ที่ไม่ได้ฝึกหัดเท่านั้น ที่จริงแล้ว ทุกสิ่งไม่มีอะไรจะง่ายไปกว่านี้แล้ว! :) ไม่อยากเชื่อเลยเหรอ? ฉันจะพิสูจน์มันตอนนี้
ก่อนอื่นคุณต้องรู้ว่าการพิมพ์เป็นคำสั่งที่พิมพ์ข้อมูลไป เอาต์พุตมาตรฐาน STDOUT (STanDart OUT หรือพูดง่ายๆ ก็คือส่งออกไปยังจอภาพ)
ประการที่สอง ความไม่เข้าใจในรูปแบบ \n คือการเปลี่ยนไปขึ้นบรรทัดใหม่ แต่ไม่ใช่โปรแกรมเนื่องจากบางคนอาจกลัว แต่เป็นข้อมูลบนหน้าจอเช่น หากคุณต้องต่อข้อความที่อยู่ในเครื่องหมายคำพูด หลังจากนั้นอักขระนี้ก็จะพิมพ์ด้วย บรรทัดใหม่- และหากจำเป็นต้องใช้ในข้อความนั้นเอง แบ็กสแลช(ชั้นวาง :) จากนั้นคุณต้องวางชั้นวางอีกอันไว้ข้างหน้า ตัวอย่างเช่น:

พิมพ์ "\a"; #Command หลังจากนั้น Perl # จะส่งสัญญาณไปที่ SPICER พิมพ์ "\\a"; #Perl จะพิมพ์ \a

ถ้าอย่างนั้น ฉันอยากทำให้คุณมีความสุข: ไม่จำเป็นต้องมีวงเล็บ :) การใช้งานขึ้นอยู่กับอารมณ์ของคุณทั้งหมด แม้ว่าคู่มือจะบอกว่าสิ่งนี้น่าจะช่วยเน้นข้อความในโปรแกรมได้ โดยทั่วไป - ใครก็ตามที่คุณชอบมากกว่า...
ตามที่คุณอาจเดาได้แล้ว จำเป็นต้องใช้เครื่องหมายคำพูดเพื่อใส่ข้อความ ดังนั้นจึงเหลือจุดที่ไม่ชัดเจนอีกสองจุด แต่ก่อนที่ฉันจะพูดถึงสิ่งเหล่านี้ ฉันคิดว่าจำเป็นต้องอธิบายให้คุณทราบว่ามีข้อมูลประเภทใดบ้างใน Perl
หน่วยพื้นฐานของข้อมูลในภาษา Perl คือสเกลาร์ กล่าวคือ ค่าที่แยกจากกันเก็บไว้ในตัวแปรที่แยกจากกัน

$a = "สวัสดีชาวโลก!"; #กำหนดข้อความให้กับตัวแปร $a
$ข = 777; #Assign ตัวแปร $b ​​ตัวเลขจำนวนหนึ่ง

ตัวแปรเหล่านี้จัดเก็บสตริง ตัวเลข และการอ้างอิง ในกรณีนี้ จำเป็นต้องเข้าใจความแตกต่างระหว่างตัวเลขดังกล่าวกับตัวเลขที่อยู่ในสตริง

$เอบีซี = "123"; #เลขในบรรทัด
123 ดอลลาร์ = 123; #เบอร์ดังกล่าว

หากคุณต้องการตัวเลขในการคำนวณ ก็อย่าใช้เครื่องหมายคำพูดคู่

จริงๆ แล้วเครื่องหมายอัฒภาคที่ท้ายแต่ละบรรทัดคือ... จุดสิ้นสุดของบรรทัด ซึ่งหมายความว่าคุณสามารถเขียนโปรแกรมทั้งหมดไว้ในบรรทัดเดียวได้ แต่เรารู้สึกเสียใจกับบรรทัดหรืออะไรบางอย่าง :) มีข้อยกเว้นสำหรับข้อความข้างต้น : เครื่องหมาย # ระบุว่าทุกสิ่งที่อยู่ในบรรทัดหลังจากนั้นเป็นความคิดเห็นและไม่เกี่ยวข้องกับโปรแกรมอีกต่อไป
ป้ายเพชร<>- นี่คือค่าเริ่มต้น หรือการพูด ในภาษาที่ชัดเจน- อินพุตมาตรฐานจากจอภาพ (ฉันจะอธิบาย: คำขอปรากฏขึ้นบนจอภาพและคุณป้อนผ่านแป้นพิมพ์แน่นอน จากนั้นคุณกด Enter และค่าที่ป้อนนั้นอยู่ในตัวแปร Perl แล้วหากตั้งค่าไว้ ). เคล็ดลับทั้งหมดในการเพิ่มเพชรในกรณีของเราคือมันจะขอให้คุณป้อนข้อมูลนี้จนกว่าคุณจะกดปุ่ม "Enter" และเนื่องจากโปรแกรมไม่ได้ระบุว่าจะทำอย่างไรกับอินพุตนี้ Perl ก็จะลืมมันและจะ ถือว่าโปรแกรมของเราเสร็จสมบูรณ์ และจากการรันโปรแกรมนี้ คุณและฉันจะเห็นข้อความ Hello, world! -

ตอนนี้เรามาทำให้โปรแกรมของเราซับซ้อนขึ้นเล็กน้อย:

พิมพ์ "ใส่ชื่อของคุณ:";
$ชื่อ=<>;
พิมพ์ "สวัสดี $name!";
<>;

คุณควรเข้าใจว่าโปรแกรมถูกดำเนินการทีละบรรทัด เช่น บรรทัดแรก ตามด้วยบรรทัดที่สอง ฯลฯ

ดังนั้นในบรรทัดแรกเราจะได้รับแจ้งให้ป้อนชื่อผู้ใช้ ในบรรทัดที่สอง เราอ่านมันลงในตัวแปร $name $name คือตัวแปรสเกลาร์ Perl ที่ขึ้นต้นด้วยเครื่องหมายดอลลาร์ดังที่กล่าวไว้ เมื่อมองไปข้างหน้า ฉันจะบอกคุณว่านอกเหนือจากตัวแปรที่ขึ้นต้นด้วยดอลลาร์แล้ว ยังมีอาร์เรย์ (@array) แฮช (%hash) และประเภทอื่นๆ อีกหลายประเภทที่ยังเร็วเกินไปที่จะพูดถึง มีความเท่าเทียมกันระหว่างตัวแปรและเพชร ซึ่งหมายความว่าเรากำหนดผลลัพธ์ของการสืบค้นให้กับตัวแปร ในบรรทัดที่สาม เราจะพิมพ์คำว่า สวัสดี และหลังจากนั้นเราจะพิมพ์สิ่งที่เก็บไว้ในตัวแปร $name ในกรณีของเรา นี่คือชื่อที่เราขอให้คุณป้อน

ลองเปลี่ยนทิศทางอีกครั้งโดยฉันจะบอกคุณว่าคุณสามารถทำอะไรกับตัวแปรได้บ้าง... คุณสามารถทำอะไรกับตัวแปรเหล่านั้นได้! และนี่ไม่ใช่การพูดเกินจริง ตัวอย่างเช่น สิ่งนี้เป็นไปได้:

$a = 3;
$ข = 4;
$c = $a+$b; #เพิ่มตัวแปรสองตัวและ
#มอบหมายให้พวกเขาเป็นที่สาม
พิมพ์ $c; # พิมพ์หมายเลขผลลัพธ์
พิมพ์ $a+$b; #สิ่งเดียวกันแต่ไม่มี
#นำตัวแปรตัวที่สามเข้ามา

ฉันหวังว่าทุกอย่างชัดเจนในเรื่องนี้... ในระหว่างนี้บางคนเข้าใจ เราจะเขียนโปรแกรมที่รันคำสั่ง DOS dir สำหรับผู้ที่ไม่ทราบ dir เป็นคำสั่งที่แสดงเนื้อหาของไดเร็กทอรีที่คุณอยู่

$ดอส = `dir`;
พิมพ์ $ดอส;
<>;

โปรแกรมนี้อ่านผลการดำเนินการลงในตัวแปร $dos คำสั่ง dirซึ่งอยู่ในเครื่องหมายคำพูดด้านหลัง (หากเป็นเครื่องหมายคำพูดธรรมดา มันจะไม่ใช่คำสั่ง แต่เป็นเพียงคำ) จากนั้นจึงแสดงผลลัพธ์นี้บนจอภาพ

ถ้าจะพูดตอนนี้ กลับไปสู่แกะของเราหรือกลับมาที่ลูกแกะเท่านั้นในตอนนี้ :) เราได้เรียนรู้ที่จะแสดงข้อความที่เราต้องการบนหน้าจอ รับข้อมูลจากผู้ใช้ และยังได้เรียนรู้ว่าคำสั่ง DOS อยู่ด้านหลัง เครื่องหมายคำพูดจะถูกดำเนินการตามคำสั่ง DOS :) ถึงเวลาเขียนโปรแกรมที่จะขออะไรมากไปกว่าคำสั่งเดียวกันนี้:

พิมพ์ "ป้อนคำสั่ง:";
chmod($com=<>);
พิมพ์ `$com`;
<>;

ด้วยเหตุผลด้านความปลอดภัย ฉันขอแนะนำอย่างยิ่งว่าอย่าเข้าไป คำสั่งฟอร์แมตลองเดาสิว่าทำไม :) ในบรรดานวัตกรรมเราต้องเน้นรูปลักษณ์ภายนอก คำสั่ง chmod- คำสั่งนี้จะลบอักขระบรรทัดใหม่ \n ออกจากข้อมูลที่เราได้รับในคำขอ ซึ่งจะมีไว้ตามค่าเริ่มต้น สิ่งที่อยู่ในบรรทัดที่สองคือเวอร์ชันชวเลขของสองบรรทัด:

เราได้รับตัวละครเพียงไม่กี่ตัวจากสิ่งนี้ แต่ก็ยังดีอยู่ :)

ณ จุดนี้ ฉันเชื่อว่าคุณได้เสร็จสิ้นขั้นตอนแรกแล้ว และพร้อมที่จะก้าวต่อไปในเส้นทางการเรียนรู้ Perl ที่ยุ่งยาก

ปรากฏตัวในปี 1987

ภาษาการเขียนโปรแกรมนี้มีความสามารถมากมายในการทำงานกับข้อความซึ่งกำหนดขอบเขตการใช้งานหลัก - การจัดการข้อความโดยเฉพาะ

บทความนี้จะแนะนำคุณตลอดขั้นตอนในการติดตั้งรันไทม์ Perl เลือกเครื่องมือการพัฒนา และสร้างโปรแกรมแรกของคุณ ในตอนท้ายของคู่มือนี้ คุณจะพบรายการแหล่งข้อมูลที่จะช่วยให้คุณเชี่ยวชาญพื้นฐานของ Perl ได้อย่างรวดเร็ว รวมถึงสำรวจภาษาในเชิงลึกมากขึ้น

Perl เป็นภาษาเดียวที่โปรแกรมมีลักษณะเหมือนกันทั้งก่อนและหลังการเข้ารหัส RSA

ในขณะที่เขียนเนื้อหานี้ รุ่นปัจจุบันล่ามคือ 5.22.0 Perl 6 มีกำหนดเปิดตัวในปี 2558 แต่ยังไม่มีการจัดทำเอกสารที่ดีนัก

ไม่แนะนำให้ใช้ภาษาโปรแกรม Perl เป็นภาษาสำหรับการเรียนรู้การเขียนโปรแกรม หากคุณเป็นมือใหม่อย่างแท้จริง จะเป็นการดีกว่าถ้าคุณเริ่มต้นด้วยสิ่งที่ไม่ทำลายล้างต่อจิตสำนึกที่เปราะบางของคุณ อย่างจริงจัง นี่คือสิ่งที่ Jon Ribbens พูดเกี่ยวกับภาษานี้:

PHP เป็นปีศาจเล็กๆ ที่สร้างขึ้นโดยมือใหม่ที่ไร้ความสามารถ ในขณะที่ Perl เป็นปีศาจตัวใหญ่และร้ายกาจที่สร้างขึ้นโดยผู้เชี่ยวชาญที่มีทักษะแต่บิดเบือน

อย่างไรก็ตาม คุณไม่ควรเริ่มต้นด้วย PHP เช่นกัน ตอนนี้เรามาทำธุรกิจกันดีกว่า

สภาพแวดล้อมรันไทม์

บน ในขณะนี้ Perl ได้รับการรองรับอย่างเป็นทางการบนสามแพลตฟอร์มชั้นนำ: Mac OS X, Unix และ Windows ในสองรายการแรก สภาพแวดล้อมรันไทม์ Perl ได้รับการติดตั้งไว้ล่วงหน้า และเวอร์ชันของมันสามารถพบได้โดยใช้คำสั่ง perl -v (สามารถดาวน์โหลดเวอร์ชันล่าสุดได้) และสำหรับ ระบบปฏิบัติการ ครอบครัววินโดวส์ล่าม Perl มีให้ดาวน์โหลดในหน้านี้ ขอแนะนำให้เลือก ActivePerl (การกระจายจาก ActiveState) เป็นอันที่พบบ่อยที่สุด

สภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE)

น่าเสียดายที่ Perl ไม่ได้รับความนิยมมากนักในหมู่นักพัฒนาสภาพแวดล้อมการพัฒนา ดังนั้นคุณจึงมีเครื่องมือพิเศษเพียงไม่กี่อย่างให้เลือก

บาทหลวง Perl IDE

สภาพแวดล้อมการพัฒนาแบบหลายแพลตฟอร์มและมีน้ำหนักเบา ออกแบบมาโดยเฉพาะสำหรับ Perl และใช้งานง่ายสำหรับผู้เริ่มต้น นอกเหนือจากการเน้นไวยากรณ์แบบดั้งเดิมและการเติมข้อความอัตโนมัติแล้ว ยังมีเครื่องมือการปรับโครงสร้างในตัวอีกด้วย อย่างไรก็ตาม Padre นั้นเขียนด้วยภาษา Perl 5

โปรแกรมแก้ไขข้อความ

เช่นเดียวกับภาษาการเขียนโปรแกรมอื่นๆ แน่นอนว่าคุณมีโปรแกรมแก้ไขข้อความหลายแพลตฟอร์มที่หลากหลายให้เลือก ตั้งแต่แผ่นจดบันทึกที่ติดตั้งไว้ล่วงหน้าไปจนถึงเครื่องมือแก้ไขที่สะดวกยิ่งขึ้น ซอร์สโค้ดด้วยการเน้นไวยากรณ์ การเติมข้อความอัตโนมัติ ฯลฯ โดยเฉพาะให้ความสนใจกับ:

  • KomodoEdit - เวอร์ชันย่อยของสภาพแวดล้อมการพัฒนาเชิงพาณิชย์ Komodo IDE ซึ่งพัฒนาโดย ActiveState (อันเดียวกับที่รองรับการกระจาย ActivePerl) มีฟังก์ชันการเติมข้อความอัตโนมัติ การเน้นไวยากรณ์ เคอร์เซอร์หลายตัว และเคล็ดลับเอกสารประกอบ
  • เป็นกลุ่ม- โปรแกรมแก้ไขข้อความอินเทอร์เฟซที่อาจผิดปกติสำหรับผู้ใช้ Windows รองรับการเน้นไวยากรณ์
  • Sublime Text เป็นหนึ่งในเครื่องมือแก้ไขซอร์สโค้ดที่ดีที่สุดพร้อมการเน้นไวยากรณ์ การเติมข้อความอัตโนมัติ ฯลฯ ซึ่งมีการขยายฟังก์ชันการทำงานด้วยปลั๊กอินที่มีอยู่จำนวนมาก
  • Notepad++ เป็นโปรแกรมแก้ไขข้อความน้ำหนักเบาที่มีการเน้นไวยากรณ์ที่ถูกต้องที่สุดหลัง KomodoEdit ฟังก์ชั่นนี้สามารถขยายได้ด้วยปลั๊กอิน แต่มีบางส่วนสำหรับ Perl โดยเฉพาะ

รหัสกราวด์

นอกจากนี้ หากคุณต้องการลองเขียนโปรแกรม Perl เท่านั้น และไม่ต้องการติดตั้งเพิ่มเติม ซอฟต์แวร์ไปยังคอมพิวเตอร์ของคุณ คุณสามารถใช้บริการ CodeGround ซึ่งให้การเข้าถึงสภาพแวดล้อมการพัฒนาออนไลน์พร้อมฟังก์ชันพื้นฐานสำหรับภาษาการเขียนโปรแกรมส่วนใหญ่ รวมถึง Perl

ครั้งแรก "สวัสดีชาวโลก!" ในภาษาเพิร์ล

ตามเนื้อผ้า เราขอแนะนำให้คุณเริ่มต้นทำความรู้จักกับภาษาใหม่ด้วยโปรแกรมที่มีชื่อเสียง:

พิมพ์ "สวัสดีชาวโลก\n";

บันทึกบรรทัดนี้ในไฟล์ hello.pl และรันโปรแกรมที่คุณเพิ่งสร้างขึ้นด้วยคำสั่ง:

Perl สวัสดี.pl

อย่างไรก็ตาม ก่อนอื่นต้องแน่ใจว่า ไฟล์ปฏิบัติการ Perl เป็นหนึ่งในของคุณ ตัวแปรสภาพแวดล้อม (ตัวแปรสภาพแวดล้อม) และคุณกำลังเรียก Perl จากโฟลเดอร์ด้วย ไฟล์ต้นฉบับสวัสดี กรุณา หากสำเร็จ คุณจะเห็นข้อความ "Hello, world!" ที่คาดหวังไว้

ยินดีด้วย คุณเริ่มเขียน Perl แล้ว!

แล้วระหว่างทางของเรา...

คู่มือภาษาอังกฤษที่ยอดเยี่ยมสำหรับภาษาการเขียนโปรแกรม Perl เริ่มต้นอย่างรวดเร็วคุณสามารถค้นหาได้ที่ Tutorialspoint.com นอกจากนี้ยังมีแหล่งข้อมูลการฝึกอบรมอย่างเป็นทางการ -