Есть ли способ "автоматически использовать" определенные модули каждый раз, когда я пишу script?
Как указано в заголовке, есть ли в любом случае, что я могу автоматически сказать perl включить следующее в каждый perl script, который я пишу (если не указано иное)?
use strict;
use warnings;
use feature 'say';
Я знаю, что не стоит писать три строки, но было бы неплохо, если бы я мог просто сменить какой-либо системный файл или что-то сделать, чтобы я никогда больше не делал этого.
Спасибо заранее.
Ответы
Ответ 1
Если вы используете perl 5.11.0 выше, use strict;
включен по умолчанию. Когда вы используете Moose
, вы получаете бесплатный strict
бесплатный warnings
тоже;
Вы также можете определить свой собственный модуль со всеми необходимыми функциями, а все строки сводятся к одной строке, например:
use Myname::defs;
Как разработать модуль, который включает ваши потребности, здесь отвечает: Как сделать "использовать My:: defaults" с современными настройками perl и utf8?. Если вам не нужен utf8
, вы можете сократить ответ geniue на строгие, предупреждения и функции. Вы также можете проверить этот вопрос и этот вопрос.
Для разработки вы также можете рассмотреть:
use strictures 1;
Прочитайте об этом здесь.
Ответ 2
Использование синтаксиса use VERSION
с номером версии, большим или равным 5.11.0, будет лексически включать стриктуры, как это делает use strict
(в дополнение к включенным функциям). Следующее:
use 5.11.0;
означает:
use strict;
use feature ':5.11';
В то время как редакторы, такие как emacs
, могут быть настроены для добавления трех строк автоматически, вы можете эффективно достичь того же путем предоставления аргументов при вызове perl:
perl -w -M5.11.0 foo.pl
[Вы можете рассмотреть возможность добавления alias
для perl в запуске оболочки script.]