คำถามติดแท็ก perl

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

5
การปรับปรุงประสิทธิภาพสำหรับการ grepping ทับไฟล์ขนาดใหญ่
ฉันมี FILE_A ซึ่งมีมากกว่า 300,000 บรรทัดและ FILE_B ซึ่งมีมากกว่า 30 ล้านบรรทัด ฉันสร้างสคริปต์Bashที่ greps แต่ละบรรทัดใน FILE_A มากกว่าใน FILE_B และเขียนผลลัพธ์ของ grep ไปยังไฟล์ใหม่ กระบวนการทั้งหมดนี้ใช้เวลานานกว่า 5 ชั่วโมง ฉันจะปรับปรุงประสิทธิภาพของสคริปต์ได้อย่างไร ฉันใช้grep -F -m 1เป็นคำสั่ง grep FILE_A มีลักษณะดังนี้: 123456789 123455321 และ FILE_B เป็นเช่นนี้: 123456789,123456789,730025400149993, 123455321,123455321,730025400126097, ดังนั้นด้วย Bash ฉันมีwhileวนรอบที่เลือกบรรทัดถัดไปใน FILE_A และ greps มากกว่าใน FILE_B เมื่อพบรูปแบบใน FILE_B ฉันเขียนลงในไฟล์ result.txt while read …

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

4
การจัดการทรัพยากรที่ไม่ได้กำหนดไว้ว่าเป็นสิ่งที่เป็นนามธรรมหรือไม่?
จากสิ่งที่ฉันเห็นมีรูปแบบการจัดการทรัพยากรที่แพร่หลายอยู่สองรูปแบบคือการทำลายล้างที่กำหนดขึ้นและชัดเจน ตัวอย่างของอดีตจะเป็น destructors C ++ และตัวชี้สมาร์ทหรือย่อย DESTROY ของ Perl ในขณะที่ตัวอย่างหลังจะเป็นกระบวนทัศน์แบบบล็อกต่อการจัดการทรัพยากรของ Ruby หรืออินเทอร์เฟซ IDispose ของ. NET ภาษาที่ใหม่กว่าดูเหมือนจะเลือกใช้ในภายหลังซึ่งอาจเป็นผลข้างเคียงของการใช้ระบบรวบรวมขยะที่หลากหลายที่ไม่อ้างอิงการนับ คำถามของฉันคือ: เนื่องจาก destructors สำหรับสมาร์ทพอยน์เตอร์หรือระบบรวบรวมขยะอ้างอิง - เกือบจะเป็นสิ่งเดียวกัน - อนุญาตให้มีการทำลายทรัพยากรโดยปริยายและโปร่งใสมันเป็นสิ่งที่เป็นนามธรรมน้อยรั่วกว่าประเภทที่ไม่ได้กำหนดไว้ล่วงหน้า สัญกรณ์? ฉันจะยกตัวอย่างที่เป็นรูปธรรม หากคุณมีคลาสย่อย C ++ สามคลาสของซูเปอร์คลาสเดียวอาจมีการใช้งานที่ไม่ต้องการการทำลายที่เฉพาะเจาะจง บางทีมันอาจใช้เวทมนตร์ในอีกทางหนึ่ง ความจริงที่ว่ามันไม่ต้องการการทำลายพิเศษใด ๆ นั้นไม่เกี่ยวข้อง - คลาสย่อยทั้งหมดยังคงใช้ในลักษณะเดียวกัน ตัวอย่างอื่นใช้บล็อก Ruby คลาสย่อยสองคลาสจำเป็นต้องเพิ่มรีซอร์สดังนั้นคลาสคลาส opts สำหรับอินเตอร์เฟสที่ใช้บล็อกในตัวสร้างแม้ว่าคลาสย่อยย่อยอื่นอาจไม่ต้องการเนื่องจากมันไม่ต้องการการทำลายพิเศษ เป็นกรณีที่การรั่วไหลหลังรายละเอียดการใช้งานของการทำลายทรัพยากรในขณะที่อดีตไม่ได้หรือไม่ แก้ไข: การเปรียบเทียบสมมติว่า Ruby กับ Perl อาจมีความยุติธรรมมากกว่าเนื่องจากมีการทำลายล้างที่กำหนดและที่เหลือไม่ได้ แต่พวกเขาทั้งคู่เก็บขยะ

3
การพัฒนาภาษาเช่น Python และ Perl ได้รับเงินสนับสนุนอย่างไร? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ชื่อค่อนข้างจะช่วยให้คุณมีส่วนสำคัญของคำถาม แต่ให้ฉันอธิบายเล็กน้อย นอกเหนือจากการมีส่วนร่วมของ Google ใน Python และ Activestate เกี่ยวกับการพัฒนา Perl (Strawberry AFAIK ไม่ทำเงินใด ๆ กับผลิตภัณฑ์ของตัวเอง) ฉันสนใจในสิ่งที่เป็นแหล่งเงินทุนที่สำคัญเช่นนี้ มีข้อความใดบ้างที่ครอบคลุมสิ่งนี้? ฉันพยายามค้นหา แต่ไม่พบสิ่งใดนอกจาก "ประวัติของ" และ "มันเป็นโอเพนซอร์สทุกคนให้ใน" ...
9 python  perl 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.