use Sort::Key::Multi 'u3_keysort'; # u3 => 3 unsigned integer keys my @sorted = u3_keysort { /^(\d+)\.(\d+)\.(\d+)$/ } @versions;