Я часто импортирую те же модули, используя во многих сценариях следующие строки. Есть ли способ сделать это в одной строке?
use WWW::Mechanize;
use WWW::TreeBuilder::XPath;
use feature 'say';
Ответ 1
Что я сделал, это поместить все это в свой собственный модуль, скажем MyProject::Policy, а затем просто use MyProject::Policy;. Я получил эту идею от common::sense.
Используя Import::Into, я получаю что-то вроде этого:
package MyProject::Policy;
use strict;
use warnings;
use Import::Into ();
use WWW::Mechanize ();
use WWW::TreeBuilder::XPath ();
sub import {
my $caller = caller;
feature->import::into($caller, 'say');
strict->import::into($caller);
warnings->import::into($caller);
}
1;
(Вам даже не нужен Import:: Into для двух модулей, которые вы предоставили, поскольку они ничего не экспортируют.)
Теперь вы можете просто use использовать этот модуль и получить все модули, которые вам нужны, и все импортируемые им проекты.