• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:perl でrequireされたファイル自身のフルファイル名を取得する)

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

このQ&Aのポイント
  • perlでrequireされたファイル自身のフルファイル名を取得する方法を教えてください。__FILE__ だとパス情報がありません。
  • 起動したスクリプトではないので、$ENV["SCRIPT_FILENAME"] , $0 では取得できません。どこに格納されているのでしょうか?%INCでは無理ですし、@INCを使う方法では信憑性にかけます。
  • requireするときにパスをグローバル変数に代入せずに、どうしてもrequireされたファイル自身で同じフォルダ名を確実に取得する必要があります。ご教授いただけますと幸いです。

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

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.2

use Cwd 'abs_path'; print abs_path(__FILE__); または use File::Spec; print File::Spec->rel2abs(__FILE__); どちらも標準モジュールのようなので、すぐ利用可かと。

noname#123065
質問者

お礼

ネストなどのテストをして大丈夫でした。 目的のものでした ありがとうございました。

その他の回答 (1)

回答No.1

ちょっと自信がないのですが、 __FILE__には本当にパスが入ってませんか? 確かそれで合ってたように思うのですが。 また「パス情報」とはスクリプトファイルのパスということでよろしいですか? また、次のようにFindBinを使うやり方はどうでしょうか。 use FindBin (); print $FindBin::Script; ただこの方法では自分の環境だと相対パスが保存されていました。

noname#123065
質問者

お礼

ご回答ありがとうございます 今回探していたのものとは、違いました。