タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

moduleとpackageに関するYudoufuのブックマーク (4)

  • @INC にみる Perl のやりかたがいっぱい - Articles Advent Calendar 2010 Casual

    こんにちは。最近は PHP ばっかり書いている、永遠の Perl 初心者 hatyuki です。 とつぜん質問ですが、みなさんが最も多くみている Perl のエラーはなんですか? 自分の場合は、う〜ん。。。 Can't locate Hoge.pm in @INC (@INC contains: ~~~~ .). BEGIN failed--compilation aborted. かな?いつまでも進歩がないのが伺えますね! 皆さんご存知の通り、このエラーは "@INC" で指定されたディレクトリの中にモジュールが見つからなかった場合に発生するエラーです。つまり、モジュールをインストールし忘れているか、モジュールがどこに置いてあるのかを適切に設定していないか、の (およそ) どちらかですね。 さてさて、Casual Perler な皆さんは、このエラーを回避するためにどんな方法を使って @

    @INC にみる Perl のやりかたがいっぱい - Articles Advent Calendar 2010 Casual
    Yudoufu
    Yudoufu 2016/02/29
    @INCとかlibとか自作モジュール読み込みとか
  • package - パッケージの宣言 - Perl入門ゼミ

    Perl › 構文 › here 他の言語では名前空間と呼ばれている機能はPerlではパッケージと呼ばれます(※1)。名前空間とは実際の世界の住所のようなものです。日に「田中達也」さんは何人かいると思いますが、「東京都新宿区3-○-△」の「田中達也」さんはひとりしかいません。住所を指定すればどの田中達也なのかを決定することができます。実際の世界の住所にあたるものが名前空間です。 パッケージの宣言 パッケージを宣言するにはpackageを使用します。 # パッケージの宣言 package パッケージ名; パッケージ名には裸の文字列を指定します。クォートやダブルクォートで囲った文字列を渡すことはできません。 # 裸の文字列で指定 package SomeModule; パッケージ名は複数階層にすることができます。「::」で個々のパーツを連結します。 # 複数階層のパッケージ名 package

    package - パッケージの宣言 - Perl入門ゼミ
    Yudoufu
    Yudoufu 2016/02/29
    名前空間とディレクトリ構成とか
  • 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 の働き
    Yudoufu
    Yudoufu 2016/02/29
    use / require // importと libのわかりやすい説明
  • perl のモジュールインポートまわりの整理

    use と require のちがい perldoc -f use より、 It is exactly equivalent to BEGIN { require Module; Module->import( LIST ); } とのこと。 BEGIN ブロックの中で require しているので、つまりコンパイル時に評価されるということ。コード中のどこで use してもコンパイル時に読み込み処理が行われる。逆に conditional にモジュールを読み込みたい場合は require を使う。 requrie と同時に import も行う。Exporter の import メソッドを想定していて、Exporter によってエクスポートされた関数を呼び出し側の名前空間に import する。import 関数は別に予約語でもないし、特別扱いもされていない。モジュールがたまたま (Ex

    perl のモジュールインポートまわりの整理
  • 1