Для строк, которые вы разместили, стандартные операторы сравнения строк (cmp
, lt
и т. Д.) Будут работать, пока каждый компонент меньше 10.
Для строк, которые вы разместили,стандартные операторы сравнения строк (cmp
, lt
и т. д.) будут работать до тех пор, пока каждый компонент меньше 2 32 , если вы преобразуете их, используя сначала pack('N*', split(/\./, $v))
.
Ноэто не будет работать для всех версий, обычно встречающихся в мире Perl. Если вы имеете дело с версиями, используйте модуль версий. (Для этого не требуется ничего устанавливать из CPAN, поэтому он соответствует вашим требованиям.)
my $v1 = version->parse($one);
my $v2 = version->parse($two);
Созданные объекты переопределяют операторы сравнения чисел и строк, чтобы их можно было использовать для сравнения объектов.