Wie verwende ich eine bestimmte Version (oder höher) eines Perl-Moduls in meinem Perl-Skript?

7

Ich verwende Term::ANSIColor in meinem Perl-Skript, um die Terminalausgabe zu kolorieren, und ich verwende die Funktion colorstrip , die nur in Term::ANSIColor version 2.01 hinzugefügt wurde, entsprechend dem Änderungsprotokoll. Also, gibt es eine Möglichkeit, mein Skript automatisch die mit einer entsprechenden Fehlermeldung zu machen, wenn es nicht mindestens diese Version von Term::ANSIcolor findet?

    
Ryan Thompson 23.01.2011, 06:45
quelle

3 Antworten

21

Nur:

%Vor%

Siehe perldoc -f use :

  

verwenden Sie die Modulversionsliste

     

Wenn das VERSION-Argument zwischen Module und LIST vorhanden ist, ruft die Verwendung die VERSION-Methode in der Klasse Module mit der angegebenen Version als Argument auf. Die Standardversionsmethode, die von der UNIVERSAL-Klasse geerbt wurde, krächzt, wenn die angegebene Version größer ist als der Wert der Variablen $ Module :: VERSION.

    
ysth 23.01.2011, 07:04
quelle
7

Die meisten Module definieren die Paketvariable $VERSION .

%Vor%

Dies ist auch eine gute Möglichkeit, eine maximale Version eines Moduls anzugeben.

%Vor%     
mob 23.01.2011 06:47
quelle
2

Geben Sie einfach die Version an, die Sie verwenden möchten:

%Vor%

Wenn die Version nicht mindestens 2.13 ist, wird die Operation fehlschlagen.

Sie können mit der Version experimentieren, die in der Befehlszeile verfügbar ist:

%Vor%

Dies wird normalerweise mit der falschen Versionsnummer in der Fehlermeldung enden (es sei denn, das Modul, das Sie verwenden möchten, hat eine 5-stellige oder längere Versionsnummer, oder das Modul ist wie strict und nicht t wie über die Befehlszeile mit einer Versionsnummer geladen werden oder wie URI (siehe die Kommentare für Details)).

%Vor%

Laufen Sie auf einer Maschine, die ich normalerweise nicht verwende, daher die antiquierte Version von Perl.

    
Jonathan Leffler 23.01.2011 07:06
quelle

Tags und Links