タグ

useに関するlesamoureusesのブックマーク (2)

  • perl の import の働き

    use と require と import の関係 perldoc perlmodによると、use というのは次と等価と書かれています。 use Module; use Module LIST; はそれぞれ、 BEGIN { require Module; import Module; } BEGIN { require Module; import Module LIST; } と等価になります。 BEGINとは? BEGIN というのは、perl がそのソースファイルをロード中、発見次第最初に1回だけ実行する構文であるという意味です。少しフォローしておくと、モジュールのロードは、@INCにあるパスを順番に見てロードされますが、lib/ 以下に自作モジュールがあるとき、 push(@INC, './lib'); use Module; はエラーとなります。先に use (BEGIN内構

    perl の import の働き
    lesamoureuses
    lesamoureuses 2009/06/23
    >BEGIN { require Module; import Module LIST; }
  • iandeth. - Perl の use と require の違い

    以前飲み会で、会社の先輩と「use と require の違いってなんじゃ?」てな話をした際、知識不足ゆえうまく答えが出せなかったのですが、Programming Perl 等をちょろちょろ読み始めた今なら、ちょっとはマシな回答が出来る気がした /w のでまとめてみました。 perldoc を始め、色々なサイトや書籍でも既に述べられているとおり、 use はコンパイル時に評価される - module load happens at comile time. require は実行時に評価される - module load happens at run time. が明確な違いになります。また、 perldoc(*) によると use は実際には以下のコードを実行するのと同等だそうです : BEGIN { require MODULE; MODULE->import(LIST); } 特殊ブ

    lesamoureuses
    lesamoureuses 2009/06/23
    わかりやすい>use はコンパイル時に評価される - module load happens at comile time. require は実行時に評価される - module load happens at run time.
  • 1