Một trong số my CPAN modules là not available trên ActivePerl thông qua tiện ích ppm
của nó. Rõ ràng đơn vị của tôi thử nghiệm cho mô-đun này là quá kỹ lưỡng và ActiveState's build process times out khi nó cố gắng để xây dựng nó.Làm thế nào để phát hiện phiên bản ActiveState của perl?
Vì vậy, những gì tôi muốn làm trong các bài kiểm tra của tôi là phát hiện khi mô-đun của tôi đang được xây dựng trên ActivePerl, và nếu có, để cung cấp quy trình xây dựng với một bộ thử nghiệm nhỏ hơn và nhanh hơn.
One way I've found to do this là:
($is_activestate) = grep /provided by ActiveState/, qx($^X -v)
nhưng tôi tự hỏi nếu có một tùy chọn trọng lượng nhẹ hơn. Một biến môi trường luôn luôn (và chỉ) được đặt trong ActivePerl? Cái gì đó trong Config
? Bất cứ một đề nghị nào khác?
CẬP NHẬT: Có vẻ như $ENV{ACTIVESTATE_PPM_BUILD}
được đặt trong các bản dựng này.
FWIW: 'Config :: local_patches()' có thể có một số giá trị. Trên máy của tôi, nó trả về 'ActivePerl Build 2201 [299574]'. – tjd