Thread version kaputt?
(14 answers)
Opened by bianca at 2018-06-15 18:15 2018-06-16T20:06:07 haj:) 2018-06-16T18:20:46 bianca Im Moment möchte ich erstmal nur mit der größtmöglichen Genauigkeit feststellen, ob ein CPAN Modul in einer neueren Version vorliegt als benötigt oder eben nicht. Habe noch Probleme mit List::Util: in der Util.pm steht zwar "sauber" our $VERSION = "1.50"; aber ausgelesen mit say List::Util->VERSION bleibt davon nur noch 1.5 übrig. Und damit bewirkt ein vorangestelltes v - was den anderen Fall heilt - genau das Gegenteil. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 #!/usr/bin/perl use strict; use warnings; use 5.010; if (version->parse('1.2.4') <= version->parse('1.1')) {say "1wahr";} # 1wahr --> falsch if (version->parse('v1.2.4') <= version->parse('v1.1')) {say "2wahr";} # '' --> richtig require List::Util; say List::Util->VERSION; # 1.5 if (version->parse('1.19') <= version->parse('1.5')) {say "3wahr";} # 3wahr --> richtig if (version->parse('1.19') <= version->parse('1.50')) {say "4wahr";} # 4wahr --> richtig if (version->parse('v1.19') <= version->parse('v1.5')) {say "5wahr";} # '' --> falsch if (version->parse('v1.19') <= version->parse('v1.50')) {say "6wahr";} # 6wahr --> richtig Gibt es dafür eine allgemeingültige Lösung? Vielleicht das Präfix v bei Versionen mit mehr als einem Punkt und sonst nicht? $version = ($version =~ /^([0-9.]+)/ && scalar(split /\./,$version) > 2 ? 'v' : '').$version 10 print "Hallo"
20 goto 10 |