Есть ли способ "автоматически использовать" определенные модули каждый раз, когда я пишу 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.]