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

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

0
ใช้ Perl เพื่อสื่อสารกับอ่อนนุช
ฉันพยายามสื่อสารกับ UPS ที่จัดการโดยใช้ NUT ฉันต้องการอ่านค่าจากมันเช่นแรงดันไฟฟ้าสาย, การชาร์จแบตเตอรี่ ฯลฯ ฉันไม่ต้องการส่งคำสั่งเพื่อปิดมัน ตอนแรกฉันจะไปยุ่งเกี่ยวกับการจับภาพผลลัพธ์ของ "upsc apc @ remotehost" และแยกด้วย regexps ... จากนั้นฉันก็เปิดสมองและมองไปรอบ ๆ CPAN และพบว่า UPS :: Nut module ยกเว้นหลังจากลองใช้และรู้ว่ามันได้รับการปรับปรุงล่าสุดในปี 2002 มันไม่ทำงานกับ NUT เวอร์ชันล่าสุด ดังนั้นจะมีวิธีที่ดีกว่าการแยกวิเคราะห์ผลลัพธ์ของ UPSC ด้วย regexps?
2 battery  perl  ups 

3
ขั้นตอนใดที่ต้องดำเนินการเมื่อการติดตั้ง CPAN ล้มเหลว
ฉันใช้ CPAN เพื่อติดตั้งโมดูล Perl ในบางโอกาส แต่ฉันโชคดีพอที่จะใช้งานได้ ขออภัยฉันพยายามติดตั้ง Thread :: Pool วันนี้และหนึ่งในการอ้างอิงที่ต้องการ Thread :: Converyor :: Monitored ล้มเหลวในการทดสอบ: Test Summary Report ------------------- t/Conveyor-Monitored02.t (Wstat: 65280 Tests: 89 Failed: 0) Non-zero exit status: 255 Parse errors: Tests out of sequence. Found (2) but expected (4) Tests out of sequence. Found (4) but …
2 perl  cpan 

2
ไพพ์เอาต์พุต bash ไปยังอาร์กิวเมนต์ของ perl script
ฉันมีคำสั่ง bash ต่อไปนี้: find repo -name '*.c' สิ่งที่ฉันต้องการจะทำคือใช้ไฟล์ที่ส่งคืนเป็นอาร์กิวเมนต์ของสคริปต์ Perl ของฉันเพื่อให้เทียบเท่ากับการทำงาน: perl ./myscript file1.c file2.c file3.c ... ฉันจะทำสิ่งนี้ได้อย่างไร
2 bash  perl  pipe 

1
ทำความสะอาดชื่อไฟล์โดยใช้ข้อมูลจากไฟล์ข้อความ
ฉันต้องล้างชื่อไฟล์โฟลเดอร์หลาย ๆ ไฟล์ อาจเป็นไปได้ว่าชื่อไฟล์เช่นกัน ฉันกำลังใช้สคริปต์ Perl นี้เพื่อทำเช่นนั้น แต่ฉันพบปัญหาบางอย่าง หากชื่อไฟล์มีวงเล็บอยู่แล้วในรอบปีก็จะเพิ่มอีกชุดหนึ่ง ฉันต้องการใช้ไฟล์ข้อความเพื่อลบ "ลายเซ็น" ทั่วไปในชื่อด้วยเช่นกัน This.Movie.Blah.(2012) [1080p] MP4. ขณะนี้สคริปต์ที่ฉันได้แทนที่.ด้วยช่องว่างตามที่ตั้งใจไว้และเพิ่ม(xxxx)รอบปี This Movie Blah ((2012)) [1080p] MP4ใช้สคริปต์ผลจะ นอกจากนี้ฉันต้องการลบ "ลายเซ็น" ที่ตรงกับค่าของไฟล์ข้อความ (เรียงกัน, ไม่ใช่ CSV) จากชื่อไฟล์ดังนั้นThis.Movie.Blah.(2012) [1080p] MP4จะกลับมาThis Movie Blah (2012) use warnings; use strict; use File::Copy; my $oldname; opendir(my $d, ".") or die $!; while(readdir $d) …
2 script  perl  rename 

1
ใน Fedora โปรแกรม Perl ไม่สามารถหา Time :: Piece library
ฉันมีโปรแกรม Perl ชื่อ /usr/bin/octbatch ทำงานเป็นสคริปต์บน Fedora 17 Linux เมื่อฉันเรียกใช้คำสั่งนี้: /usr/bin/octbatch ฉันได้รับข้อผิดพลาด: Can't locate Time/Piece.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /usr/bin/octbatch line 6. BEGIN failed--compilation aborted at /usr/bin/octbatch line 6. นี่คือบรรทัดที่เกี่ยวข้องของสคริปต์ Perl: #!/usr/bin/perl -wT $ENV{PATH} = "/bin:/usr/bin:/usr/local/bin"; use strict; use POSIX qw(setsid :sys_wait_h); use Time::Piece; …
1 linux  time  perl  fedora-17 

1
Windows Server 2008 R2: perl ppm ไม่เห็นโมดูลยกเว้นว่าฉันเป็นผู้ดูแลระบบ
ฉันเพิ่งติดตั้ง ActiveState Perl 5.16.3 ใหม่บนระบบ Windows Server 2008 R2 และสิ่งต่าง ๆ ดูเหมือนจะโอเคจนกระทั่งฉันไปตรวจสอบโมดูลที่ติดตั้งด้วย Perl Package Manager (PPM) เมื่อทำงานด้วยตัวเองจะไม่มีแพ็คเกจปรากฏขึ้นเมื่อเปิดใช้งาน "ดูโมดูลที่ติดตั้งไว้" อย่างไรก็ตามเมื่อฉันคลิกขวาและเลือก "Run as administrator" รายการโมดูล 276 ที่ติดตั้งจะปรากฏขึ้น อะไรทำให้เกิดความแตกต่างในสิ่งที่ PPM แสดงให้ผู้ใช้เห็น? โฟลเดอร์ C: \ Perl มีสิทธิ์การอ่านสำหรับกลุ่มผู้ใช้ มีไฟล์ฐานข้อมูล PPM ที่มีสิทธิ์การเข้าถึงแบบพิเศษหรือไม่?
1 windows  perl 

1
ถอดรหัส QR จากรูปภาพ (หรือวิธีรัน Exec ในการวนซ้ำ)
ฉันต้องถอดรหัสโฟลเดอร์ที่เต็มไปด้วยรหัส QR จากไฟล์ภาพ หลังจากการวิจัยจำนวนมากในที่สุดฉันก็พบว่ามี libary ที่ใช้งานได้บน Windows ไม่ใช่ตัวเลือกในอุดมคติของฉัน (Zbar จะไม่ติดตั้งบน Strawberry PERL เนื่องจาก "... ไม่สามารถรวม zbar และ zbar.h" ... หรือในบัญชีออนไลน์ของฉันซึ่งมันบอกว่ามันต้องใช้ C: คอมไพเลอร์ตัวเลือกอื่น ๆ ไม่ได้รับการอัปเดตในปีที่ผ่านมาหรือต้องการไลบรารีอื่น ๆ เช่น DecodeQR ต้องการ OpenCV / คอมไพเลอร์ ฯลฯ หรือ libdecodeqr ซึ่งฉันคิดว่าต้องการคอมไพเลอร์มากกว่า Windows / Perl) ไม่ต้องกังวล: คำถามจะมาในอีกสักครู่ อย่างน้อยดูเหมือนว่า Zbar สำหรับ Windows จะอยู่ในโฟลเดอร์เดียว (พกพา: ขึ้นอยู่กับพา ธ ) แต่ฉันไม่รู้ว่าตัวติดตั้งวางไฟล์ไว้ในรีจิสตรีหรือไม่ …

1
จะทำให้ sha1sum ทำงานบน Mac OS X ได้อย่างไร
ฉันมีโปรแกรมที่ฉัน porting sha1sumและเป็นส่วนหนึ่งของชุดทดสอบที่ฉันเรียกใช้ ฉันต้องการมีรหัสการทดสอบที่ใช้งานได้กับทุกแพลตฟอร์มและไม่แตกต่างกันในทุกแพลตฟอร์ม Mac OS X เป็นแพลตฟอร์มแรกที่ไม่มีsha1sumแอปพลิเคชัน ฉันหาshasumแอปพลิเคชันมาแล้ว ดังนั้นฉันจึงสร้างลิงก์สัญลักษณ์: cd /usr/local/bin; ln -s /usr/bin/shasum sha1sum อย่างไรก็ตามการทดสอบล้มเหลวโดยมีข้อผิดพลาด Perl: bash-3.2$ sha1sum -c files.sha1sum perl version 5.16.2 can't run /usr/local/bin/sha1sum. Try the alternative(s): (Error: no alternatives found) Run "man perl" for more information about multiple version support in Mac OS X. bash-3.2$ …

1
ลบโฟลเดอร์ / System / Library / Perl โดยไม่ตั้งใจ
ฉันบังเอิญลบโฟลเดอร์ Perl ที่เกี่ยวข้องทั้งหมดใน Mac ของฉัน (โยเซมิตี) หนึ่งใน / ระบบ / ห้องสมุด / Perl เป็นหนึ่งที่โดดเด่นที่สุด curl -L http://xrl.us/installperlosx | คำสั่ง bash ติดตั้ง Perl เวอร์ชันผิด ฉันจะติดตั้ง Perl อีกครั้งได้อย่างไร
1 macos  perl 

1
การป้องกันไม่ให้สคริปต์ Perl หยุดทำงานโดยอัตโนมัติในเทอร์มินัล
ฉันกำลังพยายามสร้างทางลัดไปยังสคริปต์ Perl โดยบันทึกคำสั่งเทอร์มินัลซึ่งเรียกใช้สคริปต์เป็น.commandไฟล์ สคริปต์เป็นแบบโต้ตอบและอนุญาตให้ผู้ใช้เชื่อมต่อกับมันผ่านทางบรรทัดคำสั่ง อย่างไรก็ตามเมื่อฉันเปิด.commandไฟล์สคริปต์จะทำงานจากนั้นจะหยุดหลังจากที่โหลดเสร็จ (ตัวเลือกเมนูจะแสดงก่อนlogoutและ[process completed]) มีวิธีใดที่จะหลีกเลี่ยงการออกจากระบบอัตโนมัติและการเลิกใช้สคริปต์หรือไม่?

1
SED / AWK / PERL (ผู้ใช้ GNU) - วิธีแทนที่รูปแบบ A แต่ไม่ใช่รูปแบบ B
ก่อนอื่นฉันใช้ GNU userland เพื่อให้คุณสามารถสมมติว่าฉันใช้ Bash, GNU coreutils ... ฉันมี HTML และฉันต้องการเปลี่ยนแปลงทั้งหมด href="foobarz" เข้าไป href="" อย่างไรก็ตามฉันไม่ต้องการเปลี่ยนบรรทัดที่มีคำว่าcss(ไม่ต้องตรงตามตัวพิมพ์ใหญ่ - เล็ก) 'href="fooCsSbarz"' ควรยังคงไม่เปลี่ยนแปลง ฉันกำลังใช้คำสั่ง $ cat foo.html | sed -e 's/href="[^"]*"/href=""/g' > bar.html แต่ไม่สามารถเก็บบรรทัดเหล่านั้นที่มีคำว่าcss(ไม่คำนึงถึงตัวอักษรพิมพ์เล็กและใหญ่) จริงๆแล้วยินดีต้อนรับเครื่องมือใด ๆ ที่มีใน * nix เช่น sed, awk, perl ... ขอบคุณสำหรับความช่วยเหลือของคุณ!
1 sed  perl  awk  gnu 

1
สคริปต์ Perl เพื่อดึงข้อมูลไดเรกทอรีเฉพาะและแก้ไขไฟล์ xml
ฉันได้เขียนสคริปต์ Perl เพื่อแก้ไขไฟล์ xml ซึ่งทำงานได้ดีสำหรับไฟล์เดียวเท่านั้น ฉันต้องการให้สคริปต์เรียกโฟลเดอร์ xml และแก้ไขไฟล์ xml ภายในไฟล์ เช่นเดียวกับที่ควรรันสำหรับไฟล์ xml ทั้งหมดในโฟลเดอร์ xml ดังนั้นฉันจะประสบความสำเร็จได้อย่างไร นี่คือรหัสของฉัน open(FILE, "/home/AP/abc.xml") || die "File not found"; my @lines = <FILE>; close(FILE); my @newlines; foreach(@lines) { $_ =~ s/<abc>/$&\n<!--a-->\n<!--b-->\n<!--c-->/g ; s/hai/bye/g; s/---/--/g; s/***/**/g; push(@newlines,$_); } open(FILE, "/home/AP/abc.xml") || die "File not found"; print FILE …
perl 

2
ทำไมฉันถึงได้รับ 'ppm: ไม่พบคำสั่ง' บน Mac OSX หลังจากติดตั้ง ActiveState Perl?
ฉันใช้ Mac OS X 10.7.5 เมื่อฉันพิมพ์ Perl -version ฉันได้รับ: This is perl 5, version 12, subversion 3 (v5.12.3) built for darwin-thread-multi-2level (with 2 registered patches, see perl -V for more detail) จากนั้นเมื่อฉันพิมพ์ ppm ผู้จัดการแพคเกจ Perl ไม่พบ ppm: Command not found. มีบางอย่างผิดปกติกับการติดตั้งของฉันหรือไม่? ฉันจะแก้ไขปัญหานี้ได้อย่างไร ฉันพยายามติดตั้ง ActiveState เวอร์ชันล่าสุดและน่าเสียดายที่มันไม่ได้เขียนทับเวอร์ชันปัจจุบัน
macos  perl 

1
คำสั่ง rsync ทำงานใน Bash แต่หยุดทำงานเมื่อเรียกใช้จาก Perl
ฉันมีคำสั่ง rsync ที่ใช้งานได้ดีจากทั้งบรรทัดคำสั่ง Bash หรือสคริปต์ Bash คำสั่งคือ: rsync -qtz user@hostname:/tmp/p /tmp เมื่อฉันรันคำสั่งมันจะคัดลอกไฟล์และทำงานในเวลาไม่ถึงหนึ่งวินาที หากฉันใส่คำสั่งในสคริปต์ Perl สคริปต์จะหยุดทำงานและฉันต้องควบคุม -C เพื่อฆ่ามัน สคริปต์ Perl เป็นเพียงแค่นี้: system("rsync -qtz user@hostname:/tmp/p /tmp"); มีอะไรผิดปกติหรือเปล่า? คำสั่งอื่น ๆ (เช่น mv และ gzip) ทำงานได้ดีในสคริปต์ Perl ฉันพยายามระบุพา ธ ที่สมบูรณ์ของ the4 ไปที่ / usr / bin / rsync แต่ก็ไม่ได้ช่วยอะไร
rsync  perl 

1
FreeBSD ทำให้เกิดข้อผิดพลาด - ไฟล์ 5.19 รองรับเฉพาะไฟล์เวทย์มนต์ 12 ไฟล์ /usr/share/misc/magic.mgc คือเวอร์ชัน 8
ฉันมีปัญหาในการติดตั้ง ProFTPD ใหม่ในการติดตั้ง FreeBSD 10.1 เซิร์ฟเวอร์ได้รับการอัพเกรดใหม่จาก 10.0 เป็น 10.1 เมื่อฉันเริ่มกระบวนการทำให้การติดตั้งใหม่ทั้งหมดคำเตือนเหล่านี้จะแสดงบนหน้าจอเป็นครั้งแรก ===> proftpd-1.3.5_4 depends on shared library: libpcre.so /usr/share/misc/magic, 93: Warning: Printf format `l' is not valid for type `lelong' in description `, %ld pages' ... /usr/share/misc/magic, 15118: Warning: Printf format `l' is not valid for type `belong' in description `Volume …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.