2012-07-20 11 views
6

Tôi đang làm việc trên phân phối Net::Prober của mình, sử dụng dzil. Từ phiên bản tiếp theo, tôi muốn thực thi yêu cầu tối thiểu perl 5.10+ (là 5.006), vì tôi đang sử dụng hình ảnh được đặt tên :-)Làm cách nào để chỉ định phiên bản perl tối thiểu cho bản phân phối của tôi trong Dist :: Zilla dist.ini?

Bây giờ tôi đã đặt use 5.010; ở đầu mô-đun chính của mình , và đó là tốt, nhưng tôi đã tự hỏi: là có một cách để xác định một phiên bản thông dịch perl tối thiểu trong dist.ini tập tin?

My hiện dist.ini là:

name = Net-Prober 
version = 0.07 
... 

[Prereqs] 
Carp = 0 
Data::Dumper = 0 
Digest::MD5 = 0 
IO::Socket::INET = 0 
IO::Socket::SSL = 0 
IO::Socket::UNIX = 0 
LWPx::ParanoidAgent = 0 
Net::Ping = 2.34 
Sys::Syslog = 0 

[Prereqs/TestRequires] 
Test::More = 0 
LWP::Online = 0 

... 

Tôi có thể chỉ cần thêm perl = 5.010 vào khối [Prereq]?

+0

Dist :: Zilla dường như chấp nhận 'perl = 5.010' trong khối' [Prereq] 'AFAICS :) – cosimo

+1

Bạn có thể sử dụng hàm' distmeta' để thêm chỉ thị 'MIN_PERL_VERSION => '5.010'' vào mô-đun của bạn metadata. Các trình cài đặt CPAN (bất kỳ phiên bản nào gần đây) sẽ tôn trọng nó. – DavidO

+0

\ [AutoPrereqs \] cũng sẽ phát hiện 'sử dụng 5.010;' trong bất kỳ mô đun nào. – Ether

Trả lời

7

Tôi có thể thêm perl = 5.010 vào khối [Prereq] không?

Có, bạn có thể. Ngoài ra, có plugin MinimumPerl tự động phát hiện phiên bản tối thiểu của perl.

+1

Plugin MinimumPerl (thông qua [Perl :: MinimumVersion] (http://metacpan.org/module/Perl::MinimumVersion)) hơi lỗi thời ... mặc dù nó không phát hiện bất kỳ tính năng nào được giới thiệu trong 5.14 (và có thể là 5,12) hoặc cao hơn. – Ether

+0

@Ether: Nó phát hiện các tính năng từ 5.12 (bao gồm toán tử ...), nhưng bạn nói đúng nó chưa được cập nhật cho 5.14 hoặc cao hơn. Tôi chắc chắn Adam chấp nhận các bản vá lỗi ;-) –

+0

Có vẻ như NEILB đã sử dụng mô-đun này trong thời gian chờ đợi, vì vậy nó đã có một số cập nhật. – oalders