2012-01-18 24 views
7

Çalıştığım bir uzak kutuda root erişimi yok, bu yüzden kutuda yerel dizinime CPAN modülleri yüklemek için cpanm ve local :: lib'in here açıklandığı şekilde kullanıyorum. Cpanm kullanarak, yerel kütüphanemde modülün en yeni sürümünü cpanm Module::To::Update kuracaktır.Bir modülün iki sürümü yüklendiğinde Perl ne yapar?

Görünüşe göre, yalnızca denediğim gibi modüllerimi CPAN ile yükseltmek için root erişimine ihtiyacım yok ve yükseltme işlemi de hızla ilerledi. Yine de, Perl modülünün hangi sürümünü kullanacağını merak ediyorum: yerel sürüm veya varsayılan CPAN sürümü? Yoksa sadece hangisi daha yeni olursa olsun?

Bu, perldoc veya Yığın Taşması'nda bulunuyorsa, bunu takdir ediyorum. Her ikisini de aramayı denedim, ama bulamadım. =/

cevap

13

Sırasıyla @INC arandığında bulduğu ilk noktayı kullanır.

+0

Oh. Bu oldukça basit. Ve muhtemelen 'Modül Sürümü'nü kullan' seçeneğini belirlemek istediğimi elle seçmeme izin verecekti. Teşekkürler. – gempesaw

+4

@dgempesaw - Bu varsayım yanlış olur. Belirli bir yerden belirli bir modülü yüklemeniz gerekiyorsa, '@ INC' ya da'% INC'de hacklemeniz gerekir (Bunu yapmak için birçok yol vardır. Nasıl yapılacağı iyi bir takip sorusu yapar.). – mob

+4

@dgempesaw, Modülün versiyonunu bulmak için Perl modülünü çalıştırmalıdır. Doğru sürüm değilse modülün yürütülmesi mümkün değildir. – ikegami

0

Eğer linux bu çalıştırarak kontrol edebilirsiniz:

perl -e 'use <module>; print $<module>::VERSION;'