Thread Modulversion vergleichen (15 answers)
Opened by bianca at 2010-11-28 08:35

bianca
 2010-11-28 09:22
#143148 #143148
User since
2009-09-13
7016 Artikel
BenutzerIn

user image
Hab mal was gebastelt, ist aber noch nicht korrekt.

1.93_99 bringt einen höheren Wert als 1.94_55 was ja nicht sein darf, wenn ich die Logik der Versionsnummern richtig begriffen habe.

Bitte im Hilfe.
Danke

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/perl -w
use strict;
use warnings;

foreach my $test (
    '0.710.08',
    '1.93_99',
    '1.94_53',
    '1.94_54',
    '1.94_55',
    '23',
    '13,56',
) {
    print "Version '$test' = " . versionsangabe ($test) . "\n";
}

sub versionsangabe {
    my $pot = -1;
    my $zahl = '';
    my $ergebnis = 0;
    for (my $pos = length ($_[0]) - 1; $pos >= 0 ; $pos --) {
        my $char = substr ($_[0],$pos,1);
        if (
            $char =~ /[^0-9]/
                ||
            !$pos
        ) {
            $pot ++;
            $zahl = "$char$zahl" if !$pos;
            $ergebnis += $zahl * (10 ** $pot);
            $zahl = '';
        }
        else {
            $zahl = "$char$zahl";
        }
    }
    return $ergebnis;
}


Code: (dl )
1
2
3
4
5
6
7
Version '0.710.08' = 7108
Version '1.93_99' = 1129
Version '1.94_53' = 1093
Version '1.94_54' = 1094
Version '1.94_55' = 1095
Version '23' = 23
Version '13,56' = 186
10 print "Hallo"
20 goto 10

View full thread Modulversion vergleichen