sub versionsvergleich { # # Rückgabe: # ========= # > = linke Version ist höher # = = Versionen sind gleich # < = rechte Version ist höher # E = Fehler aufgetreten # return 'E' if !defined $_[0] || $_[0] eq '' || !defined $_[1] || $_[1] eq ''; my @versions=@_; for my $ver (@versions) { if($ver=~/^(\d+)(?:\D(\d+)(?:\D(\d+)?))?$/) { $ver=$1*1000*1000; $ver+=$2*1000 if($2); $ver+=$3 if($3); } else { return 'E' } } return '=' if($versions[0] == $versions[1]); return '>' if($versions[0] > $versions[1]); return '<' if($versions[0] < $versions[1]); return 'E'; }