Чтение и изменение буфера обмена от веб-страницы ставят вопросы безопасности и конфиденциальности. Однако в Internet Проводник, возможно сделать это. Я нашел этот отрывок в качестве примера :
Помогает ли мой Module :: Extract :: Use ? В каталоге examples есть программа extract_modules :
$ examples/extract_modules -l some_program
File::Spec
File::Spec::Functions
strict
warning
Вы можете направить этот список в cpan
.
$ examples/extract_modules -l some_program | xargs cpan
После того, как у вас есть этот список, это только первый уровень зависимостей, вы можете создать дистрибутив сценария , который позволяет людям использовать обычную цепочку инструментов CPAN для установки всего.
Если что-то не работает для вас, измените программу, чтобы справиться с этим. Если вы думаете, что это будет полезно для других, отправьте запрос на перенос. :)
Взгляните на дизайн компонентных систем / систем сущностей:
http://www.devmaster.net/articles/oo-game-design/
Безусловно лучший I видел до сих пор.
Умные люди говорят, что это единственный способ работать с более крупными играми, но это требует изменения вашего отношения к ООП.
захватить stderr
вывод этого и проанализировать отсутствующие сообщения модуля и вызвать cpan
для каждого такого найденного модуля, пока perl -c $ script
не выдаст «Синтаксис ОК». Это также дает вам более чистый цикл. Я посмотрю на это позже.
Вы можете пропустить зависимости, загружаемые во время выполнения, используя этот метод.
Или пусть pp сделает за вас работу по сбору всего, что вам нужно, в одном исполняемом файле.
Ну, это очень упрощенный способ , который я решил.
В оболочке bash:
cat *.pl | grep "^use " | tr ';' ' ' | while read a b c; do echo $b; done | sort -iu > modules.txt
Это дало мне файл, содержащий только имена модулей, один в каждой строке.
Затем я использовал этот
cat modules.txt | while read a; do cpan $a; done
для вызова cpan для каждого имени модуля в файле. А затем сел и ответил утвердительно на вопросы CPAN об установке необходимых зависимостей.
Неприятно, но на этот раз работа выполнена.