"Foobar :: Thing"이라는 접두어가 붙은 Perl 모듈이 있는데, 틀린 케이스로 잘못 작성하여 CPAN에 업로드했습니다. 올바른 케이스를 사용하도록 모듈의 이름을 바꾸고 싶습니다 (예 : "FooBar :: Thing"). 아직이 모듈의 사용자가 너무 많지 않으므로 모듈의 사용법을 수정하는 것이 좋습니다. CPAN 모듈의 이름을 바꿀 수 있습니까? 갈등이 발생합니까?다른 대소 문자로 된 CPAN 패키지 이름의 이름 바꾸기
답변
Perl 모듈 이름은 대소 문자를 구분하므로 CPAN은 이론상 FooBar::Thing
과 Foobar::Thing
을 모두 처리 할 수 있어야합니다. 사용자는 혼란 스럽지만 CPAN은 없어야합니다. 그러나 '이론'과 '실천'에 관해 그들이 말하는 것을 알고 있습니다. 그렇지 않습니까? Foobar::Thing
에 대한 업데이트를 제공하면 (a) 사용시 더 이상 사용되지 않는 경고를 제공하고 (b) 모든 호출을 FooBar::Thing
으로 연결하는 것이 좋습니다. 업데이트 된 Foobar::Thing
의 사전 요구 사항으로 FooBar::Thing
을 나열 할 수도 있습니다. 모두가 업그레이드했다고 확신하면 CPAN에서 잔해물을 제거 할 수 있습니다.
Windows에서 NTFS 또는 Mac OS X에서 HFS와 같이 대소 문자를 구별하지 않는 파일 systema는 일부 문제를 일으킬 수 있습니다. 따라서 CPAN은 대문자와 소문자 만 다른 모듈을 허용하지 않으므로이 문제를 해결할 수 있습니다 모듈 이름 철자. 그렇다면 새 대문자 사용 모듈의 버전 2에 FooBar::Thing2
과 같은 접미사를 사용해야 할 수 있습니다. 모듈 등록에 대한 현재 규칙이 15 년 이상 전에 도움이되지 않는다고 말하면서 (기억할지라도) 내가 여기에서 완전히 벗어날 수 있습니다.
Perl 작성자 업로드 SErver (PAUSE)의 내용을 On the Naming of Modules라고해야합니다. 그러나 AFAICS는 대소 문자 구분에 대해 아무 것도 말하지 않습니다. 대문자와 소문자 구분의 차이에 따른 충돌을 피하는 의미입니다.
을 그러나 다시, I는 대소 문자를 구분 모듈 이름에 대해 아무것도 표시되지 않습니다 :
또한 통과해야한다. (예, 이름의 구성 요소에 대한 11 자의 상한선이지만 ...)
- 1. K9 메일 패키지 이름의 이름 바꾸기
- 2. 다른 이름으로 같은 이름의 디렉토리 이름 바꾸기
- 3. javascript에서 스위치/대소 문자로 바꾸기
- 4. MySQL : 행을 대소 문자로 바꾸기
- 5. 앱 이름의 이름 바꾸기
- 6. .apk의 패키지 이름 바꾸기
- 7. 프로젝트의 패키지 이름 바꾸기
- 8. 이름 바꾸기 신청 패키지
- 9. 문자를 다른 문자로 바꾸기
- 10. Model.matrix에서 열 이름의 이름 바꾸기
- 11. 공백이있는 파일 이름의 이름 바꾸기
- 12. aapt를 사용하여 패키지 이름 바꾸기
- 13. Android Studio에서 패키지 이름 바꾸기
- 14. 반복되는 문자를 다른 반복 된 문자로 바꾸기
- 15. 기본 python-unittest 함수 이름의 이름 바꾸기
- 16. 패키지 이름 바꾸기 Android Studio
- 17. 패키지 이름 바꾸기 폴더 구조
- 18. 도움말 이름 바꾸기 android 패키지
- 19. regex에서 다른 문자로 바꾸기 PHP
- 20. 파일 이름의 대량 스캔 및 이름 바꾸기
- 21. 대소 문자가 다른 분기 폴더 이름 바꾸기/이동
- 22. Powershell 대소 문자의 민감도 이름 바꾸기
- 23. 콘솔의 문자를 다른 문자로 바꾸기
- 24. Ruby : 특수 문자로 파일 이름 바꾸기
- 25. Alfresco - CIFS 공유 이름의 이름 바꾸기
- 26. TeamCity 서버 호스트 이름의 이름 바꾸기
- 27. CMake 패키지 변수의 이름
- 28. SSMS DB 연결 이름의 이름 바꾸기
- 29. 알 수없는 문자로 이름 바꾸기 전에 SED "
- 30. 다른 파일의 내용과 정확하게 일치하는 파일 이름의 일부 이름 바꾸기
Perl 모듈은 대소 문자를 구분하므로 이론적으로 CPAN은'FooBar :: Thing'과' Foobar :: Thing'. 사용자는 혼란 스럽지만 CPAN은 없어야합니다. 그러나 '이론'과 '실천'에 관해 그들이 말하는 것을 알고 있습니다. 그렇지 않습니까? 'Foobar :: Thing'에 대한 업데이트를 제공하면 (a) 사용되면 더 이상 사용되지 않는 경고를 제공하고 (b) 모든 호출을'FooBar :: Thing'으로 라우트하도록하면 좋을 것입니다. 업데이트 된'Foobar :: Thing'의 사전 요구 사항으로'FooBar :: Thing'을 열거 할 수도 있습니다. 모두가 업그레이드했다고 확신하면 CPAN에서 잔해물을 제거 할 수 있습니다. –
대소 문자를 구별하지 않는 파일 시스템 (Windows의 경우 NTFS, Mac OS X의 경우 HFS)은 일부 문제를 일으킬 수 있으므로 CPAN이이를 무시할 수 있습니다. 그렇다면 모듈의 버전 2에'FooBar :: Thing2'와 같은 접미사를 사용해야 할 수도 있습니다. 모듈 등록에 대한 현재 규칙이 (15 년 전에 관련이있는 내용이 많은 도움이되지 않는다는 것을 알려주고 있음을 기억합니다.) 그래서 여기에서 완전히 벗어날 수 있습니다. –
'Foobar :: Thing'과'FooBar :: Thing'을 CPAN에서 검색 및 설치하지 않으려면 PAUSE 계정을 사용하여'Foobar :: Thing'의 모든 버전을 삭제하십시오. 빨리, 더 잘, 나는 말한다. – mob