문제

나는 5.10.0 이전 문서와 더 최근의 상충되는 조언에 약간 혼란스러워합니다. 버전 기준 치수. Perl 모범 사례 버전 문자열 ( 'v1.0.3')이 나쁘고 하나는 다음과 같이 버전을 지정해야한다는 것을 분명히합니다.

use version; our $VERSION = qv('1.0.3');

그러나 버전 모듈은 버전 문자열을 사용하는 것으로 돌아 왔다고 말합니다.

use version 0.77; our $VERSION = qv("v1.2.3");

우리가 회귀 했습니까, 아니면 그 뒤에 이유가 있습니까?

도움이 되었습니까?

해결책

당신의 인용문 Perl 모범 사례 옳지 않습니다. 구체적으로, 없는 양식의 vstrings

our $VERSION = v1.0.3;

낙담합니다. 최신 버전의 version.pm에서 권장 사항은 True Strings를 사용하는 것입니다.

use version 0.77; our $VERSION = qv("v1.2.3");               # shorthand

이 기능은 가독성을 돕기 위해 추가되었으며 특히 설명 된 베어 문자열의 함정을 피합니다. 여기.

당신이 링크 한 문서 페이지로서, perl 5.10에서 내장 로직을 사용하여 사전 진출 'v'없이 버전을 사용할 수 있습니다.

Decimal $ 버전 (Floating Point)을 사용하는 모듈이 있고이를 변경하려는 모듈이있는 경우이 모듈은 귀하를위한 것이 아닙니다. 버전.pm이 간단한 $ 버전 할당을 얻는 것은 없습니다.

따라서 귀하의 질문에 대한 답변은 다음과 같습니다. 버전.pm을 사용하는 새 코드를 작성하는 경우 새 "v1.0.3"구문을 사용하십시오. 이전 코드가 작성된 방식이거나 Module.pm에 명시 적으로 의존하고 싶지 않은 경우 일반 번호를 고수하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top