У меня есть модуль Perl с префиксом названия компании «Foobar :: Thing», но был ошибочно создан и загружен в CPAN с неправильным корпусом. Я хотел бы переименовать модуль, чтобы использовать соответствующий корпус, например «FooBar :: Thing». До сих пор не так много пользователей этого модуля, поэтому я в порядке с исправлением использования модуля. Возможно ли переименование модуля CPAN? Это вызовет конфликты?Переименование имени пакета CPAN с другим корпусом
ответ
Поскольку имена модулей Perl чувствительны к регистру, CPAN теоретически может обрабатывать как FooBar::Thing
, так и Foobar::Thing
. Пользователи могут быть смущены, но CPAN не должен быть. Однако вы знаете, что они говорят о «теории» и «практике», не так ли? Было бы хорошо, если бы вы смогли предоставить обновление до Foobar::Thing
, чтобы оно (a) выдавало устаревшее предупреждение при его использовании и (b) направляет все вызовы на FooBar::Thing
. Вы также можете перечислить FooBar::Thing
в качестве препринта для обновленного Foobar::Thing
. Когда вы уверены, что все обновились, вы можете удалить обломки из CPAN.
Обратите внимание, что файловая система, не учитывающая регистр (например, NTFS в Windows или HFS в Mac OS X), может вызвать некоторые проблемы. Поэтому CPAN может отключить их, запретив модули, которые отличаются только верхним и нижним регистрами написание имени модуля. Если это так, вам, возможно, придется использовать суффикс, такой как FooBar::Thing2
для версии 2 модуля с новой капитализацией. Я не уверен, что текущие правила регистрации модуля (рассказывая вам о том, что было уместно 15 лет назад, не помогут - даже если бы я мог вспомнить), поэтому я мог бы полностью отключиться от цели.
Вы должны посмотреть, что скажет Авторская загрузка SERver (ПАУЗА): On the Naming of Modules. Тем не менее, AFAICS, он ничего не говорит о чувствительности к регистру (в смысле избежания столкновений, основанных на различиях в капитализации).
Вы также должны пройти:
, но опять же, я не вижу ничего об именах модулей чувствительны к регистру. (Да, верхний предел 11 символов в компонентах имени, но ...)
- 1. Переименование имени пакета проекта
- 2. Переименование/перемещение папки с разным корпусом
- 3. переименование пакета приложения или имени мероприятия?
- 4. physicalBody столкновение с другим физическим корпусом
- 5. Переименование имени пакета Android с помощью Android Studio
- 6. Переименование K9 Название почтового пакета
- 7. Переименование имени пакета в файле .java тоже, android eclipse
- 8. Переименование имени приложения IPA
- 9. Переименование имени приложения
- 10. Android: переименование пакета в Eclipse
- 11. Переименование определенных файлов с помощью пакета Windows
- 12. Stash (git) показывает файлы в одной папке с другим корпусом
- 13. Переименование файла с переменной пакета не работает с другим профилем пользователя
- 14. Переименование пакета в AndroidManifest не работает
- 15. переименование имени файла по id
- 16. Пакетное переименование файлов с использованием имени папки?
- 17. Переименование неактивного листа с частью имени папки
- 18. Переименование нескольких файлов с помощью имени списка
- 19. Переименование имени изображения с помощью PHP
- 20. Переименование нескольких файлов по имени
- 21. Получение фактического имени файла (с соответствующим корпусом) в Windows
- 22. UILocalNotification с разным корпусом предупреждения
- 23. Переименование имени файла при загрузке
- 24. Переименование имени проекта репозитория SVN
- 25. Спецификация пакета и проблема с корпусом пакета, незаконное использование типа перед объявлением
- 26. Проблема с корпусом Erlang
- 27. проблема с корпусом коммутатора
- 28. StringRequest с корпусом JSON
- 29. Операция с вложенным корпусом
- 30. BinaryTree - с корпусом переключателя
Поскольку модули Perl чувствительны к регистру, CPAN теоретически должен иметь возможность обрабатывать как 'FooBar :: Thing', так и' Foobar :: Thing'. Пользователи могут быть смущены, но CPAN не должен быть. Однако вы знаете, что они говорят о «теории» и «практике», не так ли? Было бы хорошо, если бы вы смогли предоставить обновление для Foobar :: Thing, чтобы оно (a) давало устаревшее предупреждение при его использовании и (b) направляет все вызовы на 'FooBar :: Thing'. Вы также можете перечислить 'FooBar :: Thing' в качестве предпосылки для обновленного' Foobar :: Thing'. Когда вы уверены, что все обновились, вы можете удалить обломки из CPAN. –
Обратите внимание, что файловая система без учета регистра (NTFS в Windows; HFS в Mac OS X) может вызвать некоторые проблемы. Поэтому CPAN может отключить их. Если это так, вам, возможно, придется использовать суффикс, такой как 'FooBar :: Thing2' для версии 2 модуля с новой капитализацией. Я не уверен, какие текущие правила регистрации модулей (рассказывая вам о том, что было уместно 15 лет назад, не очень поможет - даже если бы я мог помнить), поэтому я мог бы полностью отключиться от цели. –
Чтобы избежать использования «Foobar :: Thing» и «FooBar :: Thing» для поиска и установки на CPAN, удалите все версии «Foobar :: Thing», используя свою учетную запись PAUSE. Чем скорее, тем лучше, говорю я. – mob