2012-07-17 18 views
8

Sadece bir kod incelemesinde ilk defa Getopt::Long Perl modülünün GetOptions() işlevine dönüş kodunu kontrol etmek için sordum.Getopt :: Long :: GetOptions'ın dönüş kodunu kontrol edermisiniz?

GetOptions() işlevi için böyle bir sınama gördüğümü hatırlayamıyorum.

İnsanların genellikle bu işlevin dönüş kodunu kontrol etmemesinin belirli bir nedeni var mı? insanlar GetOptions işlevinin döndürülen değerini kontrol etmiyoruz

cevap

11

bir nedeni onlar (denir GetOptions hemen sonra @ARGV ayrıştırma yoluyla) Getopt::Long kullanmadan belirtilmemiş seçenekleri işlemek istiyorum olmasıdır. Ya da belki de belirtilmemiş seçenekleri görmezden gelmek isterler. Ya da belki GetOptions işlevinin başarısız olabileceğinden habersizler.

Her zaman dönüş değerini kontrol ediyorum çünkü komut satırında yazım hataları yakalamak istiyorum. Kontrol için standart bir yol, Pod::Usage Çekirdek modülünü kullanır (örneğin POD örneğine bakın). Ayrıca bkz .: The Dynamic Duo --or-- Holy Getopt::Long, Pod::UsageMan!

+2

Genellikle komut satırı argümanlarını ayrıştırırken programm 'die' hatalarını yapmak istiyorsam,' GetOptions'ın dönüş değerini kontrol ederim. Gibi GetOptions (...) 'ölmeden. Eğer 'pass_trough' değilse bile, hala argümanların geri kalanını @ ARGV'de yakalamak için bir seçenek. Çok yararlı bir cevap için –

+1

Cheers @toolic. Yanlış yazılmış seçenekleri düşünmedim. Ve daha fazla bilgi sağlayan makaleye bağlantı için büyük teşekkürler neden benim Perl için daha fazla bölme eklemek gerekir! –

İlgili konular