• ベストアンサー

関数が使えない

関数が使えない状態になっており、困っています。 メッセージは下記が出ています。 Can't locate object method "%s" via package "%s" そのパッケージにも、基底クラスにも、該当のメソッドが定義されていないとうことのようですが、 使おうとしている関数が所属しているパッケージを、しっかりとuse しています。 また、「perlobj manpage」というページに情報があるらしいというのを情報として得たのですが、↓ http://fleur.hio.jp/perldoc/mix/pod/perlobj.html 「Can't locate object method」ということに関係している箇所みつからず、また、ここに書かれている内容は難しく情報があまり得られませんでした。 宜しくお願いいたします。

  • Perl
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

私もやってしまったことがあるのですが、 useで読み込まれるファイルと、 「使おうとしている関数が所属しているパッケージ」が違うということは ありませんでしょうか。 例えば、perlモジュールパス上にある hoge.pm を読み込みたくて、 use hoge; と書いたのに、 カレントにも hoge.pm があって、 そちらが読み込まれている、のような状態です。 もしそうだとすれば、 コマンドラインで perldoc -l hoge とすると、読み込まれるモジュールのフルパスが表示されるので、 それで確認ができます。 まったく見当違いでしたらすみません。

TeferiMage
質問者

お礼

ありがとうございますー 原因は、似たような単純なことで、 インスタンス化したものが、 小文字で宣言されていて、 使用する時に大文字でそのオブジェクト名を指定してしまっていたせいでした、、

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

いや, 「コンストラクタがどうのこうの」ではなく, @ISA に「基底クラス」を入れないといけなかった気がするんだけどどうだっけな, と.

TeferiMage
質問者

お礼

継承する必要はないので、その問題はないと思っています。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

パッケージを use するだけでは「基底クラス」にはならなかったような気がするんだけど, そこは OK?

TeferiMage
質問者

お礼

constructer も実行しています。 (constructerがない場合は、construct もしませんが。) ありがとうございました。

関連するQ&A

  • URI.pmの使い方を教えてくださいm(__)m

    URI.pmのメソッドが失敗します。 #!/usr/bin/perl -w use URI; print(new URI("www.yahoo.co.jp")->host, "\n"); これを実行すると Can't locate object method "host" via package "URI::_generic" at ./try line 3. となります。 メソッド名が変わったのでしょうか。 私の本では確かにhostとなっているのです。

    • ベストアンサー
    • Perl
  • MovableType4.2の管理画面が開きません(悲)

    Mysqlをインストールしてから、mt.cgi をブラウザから実行すると下記のエラーがでて、movabletypeの管理画面に入れません。 原因がわからず困っております。何卒、知恵をお貸しください。 Got an error: Can't locate object method "install_properties" via package "MT::Tag" (perhaps you forgot to load "MT::Tag"?)

  • MovableType4.25でスタイルでエラーが出ます

    Movable Type4.25を使用してます。 スタイルメニューを選ぶと、以下のようなエラーが出てしまいます。 Can't locate object method "delimiter" via package "JSON" 解決方法ご存知の方お願いたします。 アップロードミスかと思い、mt-staticを再アップロードしても 変化ありません。 サーバーはheteml(ヘテムル) 独自ドメインを使用してます。 当方OSはXPです。

  • Movable Typeのプラグイン「StyleCatcher」のエラーについて

    Can't locate object method "translate_templatized" via package "MT::Plugin::StyleCatcher" at lib/StyleCatcher.pm line 52. 上記のようなエラー表示がでました。 対処法を教えてください。 バージョンは下記です。 ------------------------------------ Movable Type 3.2-ja StyleCatcher バージョン 1.1-dev ------------------------------------ いろいろ調べたのですが、対処法が見つかりませんでした。 「StyleCatcher」のインストールはマニュアル通りに行ったので、ディレクトリ等の間違いはないと思うのですが、誠にお手数ですが、どなたかご存知の方いらっしゃれば宜しくお願いします。

  • 変数の中に変数をいれる。

    変数の中に変数を入れるのって可能ですか? $ENV{SOLARWEB_DBUSER} = $ENV{SOLARWEB_DBUSER_${str_ServerName}}; ${str_ServerName} = "MERCURY99"; $ENV{SOLARWEB_DBUSER_MERCURY99} = "solarweb"; ゆえに最終的んい取得したいのはsolarwebなのですが、次のエラーメッセージが出てきて困っています。 そもそも、変数の中の変数は可能なのか? 定義の仕方${}が間違っているのか。 ご存知の方がいらっしゃったら助けてください。 Can't locate object method "SOLARWEB_DBUSER_" via package "TKASE125DEV1" at /home/sb/solarweb/cgi-bin/lib/Common.pm line 199. 199行は$ENV{SOLARWEB_DBUSER} = $ENV{SOLARWEB_DBUSER_${str_ServerName}}; です。

    • ベストアンサー
    • Perl
  • Jcode CP932 のエラーを回避したい。

    プログラム初心者です。 form Mailを設置し、フォーム入力→確認画面までは動くのですが、 最後に、送信ボタンを押すと、500エラーになります。 お手上げです。詳しい方お教えください。 サーバーのエラーログをみたところ、 Can't locate object method "CP932" via package "Jcode" at form_mail.cgi となっていました。 ━━ #!/usr/bin/perl require 'jcode.pl'; $sendmail = '/usr/sbin/sendmail'; use Jcode; ━━ エラーと思われる箇所 sub jis { $msg = $_[0]; # Jcode::convert(*msg,'jis'); $msg = Jcode->new($msg, "UTF8")->CP932; &jcode'convert(*msg,'jis'); } ━━

  • MovableTypeエラ-回避方法を教えてください

    エラーが発生しました: Can't call method "parent_categories" without a package or object reference at lib/MT/Template/ContextHandlers.pm line 3258. と出ます。 再構築できません。教えてください。 m(__)m

  • sledgeのセットアップ

    主題の件で質問です。cpanモジュールのロードエラーが度々発生し足りないモジュールを足しながら対処してきたのですが、下記のエラーの大元が分かりません。 Premature end of script headers: index.cgi Subroutine Sledge::Registrar::context redefined at Sledge/Pages/Base.pm line 79. No such file or directory at HelloWorld/Config.pm line 11. Can't locate object method "new" via package "Template" (perhaps you forgot to load "Template"?) at C:/xampp/Sledge-1.11/lib/Sledge/Template/TT.pm line 51. エラーは、apacheのerror.logです。

  • Movable Type 4.1 で既定のCaptchaプロバイダが使えない。

    Movable Type 4.1 の無償ライセンス版を使っています。 自宅のLinuxサーバにインストールして使用しているのですが、 既定のCaptchaプロバイダを設定しても、Captcha画像が表示されません。 表示されるべき画像を直接ブラウザで開くと、本質問下部のエラーメッセージが表示されます。 何か Perl モジュールが足りていないのでしょうか? そのBlogは以下です。 http://www.hyk-home.com/blog/infra/ どうか宜しくお願い致します。 ------------------------ Can't locate object method "Blur" via package "Exception 415: Postscript delegate failed `/tmp/magick-XXUKVHXm'" (perhaps you forgot to load "Exception 415: Postscript delegate failed `/tmp/magick-XXUKVHXm'"?) at lib/MT/Util/Captcha.pm line 162. ------------------------

  • rubyのObject#methodsについて

    こんにちは、 rubyのmethodsメソッドについてです。 met = Object.method(:method) として、ObjectクラスのmethodメソッドをMethodインスタンスとしたとき met.parametes #=> [[:ref]] とすると、引数の情報を得ることができます。 しかし、 met.methods には、「:parameters」がありません。 クラスごとのメソッドを全て表示させたいのですが、 methodsはすべてのメンバを取り出すメソッドではないのでしょうか。 ご存知の方がいらっしゃいましたらお教えくださいませ。 ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux] Rails 3.1.4 gem 1.8.17 CentOS 5.7

    • ベストアンサー
    • Ruby

専門家に質問してみよう