• ベストアンサー
  • 困ってます

perl でrequireされたファイル自身のフルファイル名を取得する

  • 質問No.6274122
  • 閲覧数560
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0
perl でrequireされたファイル自身のフルファイル名を取得する方法を教えてください

__FILE__ だとパス情報がありません。

また 起動したスクリプトではないので
$ENV["SCRIPT_FILENAME"] , $0
では、取得できません。

どこに格納されているのでしょうか?
%INCでは、無理ですし、@INCを使う方法では、信憑性にかけます

requireするときにパスをグローバル変数に代入せずに
どうしてもrequireされたファイル自身で
確実に正確な同じフォルダ名を取得する必要があるのでお願いします。

(※phpでは、__FILE__でフルパスで返ってくるので私の探し方が悪いだけだと思っています)

perlでの取得方法の情報を
お手数ですがよろしくお願いします

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

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

ベストアンサー率 75% (263/350)

use Cwd 'abs_path';
print abs_path(__FILE__);

または

use File::Spec;
print File::Spec->rel2abs(__FILE__);

どちらも標準モジュールのようなので、すぐ利用可かと。
お礼コメント
noname#123065
ネストなどのテストをして大丈夫でした。

目的のものでした
ありがとうございました。
投稿日時:2010/10/27 11:28

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 60% (21/35)

ちょっと自信がないのですが、
__FILE__には本当にパスが入ってませんか?
確かそれで合ってたように思うのですが。
また「パス情報」とはスクリプトファイルのパスということでよろしいですか?

また、次のようにFindBinを使うやり方はどうでしょうか。
use FindBin ();
print $FindBin::Script;
ただこの方法では自分の環境だと相対パスが保存されていました。
お礼コメント
noname#123065
ご回答ありがとうございます

今回探していたのものとは、違いました。
投稿日時:2010/10/27 11:26
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ