私は、この言語にはかなり新しいですが、LWP::UserAgent
がperldoc LWP::UserAgent
からのような仕事をするrequire
を使用して、なぜ私は、以前に特定のモジュールをインポートするなぜLWP :: UserAgentは、LWP :: UserAgentを使用するのではなく、LWP :: UserAgentを必要としてインポートするのですか?
をuse
を使用してきた:
require LWP::UserAgent;
私は、この言語にはかなり新しいですが、LWP::UserAgent
がperldoc LWP::UserAgent
からのような仕事をするrequire
を使用して、なぜ私は、以前に特定のモジュールをインポートするなぜLWP :: UserAgentは、LWP :: UserAgentを使用するのではなく、LWP :: UserAgentを必要としてインポートするのですか?
をuse
を使用してきた:
require LWP::UserAgent;
use LWP::UserAgent;
require LWP::UserAgent;
が許容される場合、それはimport
はLWP :: UserAgentのために何もしないことを示すことを行く
BEGIN {
require LWP::UserAgent;
import LWP::UserAgent;
}
と同じです。おそらく、ドキュメントの使用の意味require
はこれを微妙に暗示することでしょうか?
require LWP::UserAgent;
とuse LWP::UserAgent;
の唯一の違いは、require
が実行された場合です。前者の場合は、ファイル全体がコンパイルされた後に発生します。後者の場合は、その文がコンパイルされるとすぐに発生します。実際には、オブジェクト指向のモジュールに大きな違いはありません。
個人的に、私は、私は私はしたくないものを輸入しないことが保証だ同じだ
use LWP::UserAgent qw();
BEGIN {
require LWP::UserAgent;
}
その方法
として使用し、そして私はお馴染みのuse
Iを使用します他のモジュールで使用します。
は、モジュールが必要です。 :名前は、コンパイル時ではなく、実行時にのみ使用と同じ効果を持ちます。これは、条件付きでモジュールを必要とする場合に便利なことがあります。私は、医者が使用の代わりに要求すると言う特別な理由はないと思います。
これは理想的な答えではないが、おそらくメッセージエラーの場合I.
としてGoogleからに来た誰かを助ける:LWP :: UserAgentのでは見られません。/apache_accesses行86.
解決方法: apt-get install libwww-perl
この質問は、LWPを例にして、 'use'と' require'に関するものでした。 LWPを動作させることではありません。また、あなたの答えはDebian固有のものです。 – amon
私は知っているが、私はこのsoultionを探して、Googleからこのサイトを最初に得た。 –
です。その違いは 'import LWP :: UserAgent;です。 'これはどういうことでしょうか? – Learning
'import LWP :: UserAgent'は' LWP :: UserAgent-> import() 'の変形構文です。 'import'という名前のクラスメソッドを呼び出します。通常、[Exporter](http://search.cpan.org/perldoc?Exporter)モジュールを使用して関数を呼び出し元のネームスペースにエクスポートしますが、モジュール作成者が行うことを実際に行うことができます。 – cjm