Perlコーディング初心者質問スレ Part 59at PHPPerlコーディング初心者質問スレ Part 59 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト100:90 09/02/21 21:01:21 すみません、自己解決しました。 ファイルが lib/haga/hoge.pm で、パッケージ宣言が package hoge; となっており、呼び出し元からは use haga::hoge と指定されていました パッケージ宣言を package haga::hoge; と直すと全てうまくいきました しかし不思議なのは、パッケージ自体は使えたことですね import関数だけが呼ばれないようでした 101:nobodyさん 09/02/22 14:43:56 >>100 ・ package NAME の実体はシンボルテーブルを表現するグローバルハッシュのキー ・ use NAME は本質的にはファイル名 この2つが一致するようにしておくのが慣習になっており(そうでもしないと発狂するので)、ほとんどのプログラムはそれを前提として書かれている。 use haga::hoge; は lib/haga/hoge.pm を見ており、import は package 宣言と同じ名前空間を見ている。 それは前述のようにハッシュなので、キーが見つからなければ黙って *自動生成* される。 use は正しいファイルを読み込み、package は指示された名前空間を設定し、内部的に import は仕様通り仕事を果たしており、問題は発生していないためエラーの類は出ない。 結論: あんまり不思議じゃありませんでした。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch