2017-02-09 12 views
0

多くのスクリプトでは、次の行を使って同じモジュールを頻繁にインポートします。これを1行で行う方法はありますか?私がやっていることモジュールをインポートするためのショートカット?

use WWW::Mechanize; 
use WWW::TreeBuilder::XPath; 
use feature 'say'; 
+0

[Perlはすべての私のパッケージにインポートしますか?](http://stackoverflow.com/q/40953539)[どのように私自身のモジュールでモジュールのリストをエクスポートできますか?](http://stackoverflow.com/q/30814892)、これには関連する質問の全リストが含まれています。 – ThisSuitIsBlackNot

+0

IkegamiとTanktalusの回答から、 'Import :: Into'勧告を2番目に出しました。プラグマ以外のモジュールをインポートする方法と、さらに詳細を示すブログへのリンクについては、[this post](http://stackoverflow.com/a/39568422/4653379)の別の例を参照してください。 – zdim

+0

重複している可能性があります[自分のモジュールでモジュールのリストをエクスポートするには?](http://stackoverflow.com/q/30814892/2173773) –

答えて

4

、独自のモジュールでは、これらのすべてを置く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; 

(あなたも、彼らが何をエクスポートしていないので、あなたが設けられた二つのモジュールのインポート::の中へは必要ありません。)

を今すぐこのモジュールuseを読み込み、ロードする必要があるすべてのモジュールと、プロジェクトが要求するすべてのインポートを取得します。

関連する問題