- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:perl でrequireされたファイル自身のフルファイル名を取得する)
perlでrequireされたファイル自身のフルファイル名を取得する方法
このQ&Aのポイント
- perlでrequireされたファイル自身のフルファイル名を取得する方法を教えてください。__FILE__ だとパス情報がありません。
- 起動したスクリプトではないので、$ENV["SCRIPT_FILENAME"] , $0 では取得できません。どこに格納されているのでしょうか?%INCでは無理ですし、@INCを使う方法では信憑性にかけます。
- requireするときにパスをグローバル変数に代入せずに、どうしてもrequireされたファイル自身で同じフォルダ名を確実に取得する必要があります。ご教授いただけますと幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
use Cwd 'abs_path'; print abs_path(__FILE__); または use File::Spec; print File::Spec->rel2abs(__FILE__); どちらも標準モジュールのようなので、すぐ利用可かと。
その他の回答 (1)
- kirikirkaz
- ベストアンサー率60% (21/35)
回答No.1
ちょっと自信がないのですが、 __FILE__には本当にパスが入ってませんか? 確かそれで合ってたように思うのですが。 また「パス情報」とはスクリプトファイルのパスということでよろしいですか? また、次のようにFindBinを使うやり方はどうでしょうか。 use FindBin (); print $FindBin::Script; ただこの方法では自分の環境だと相対パスが保存されていました。
質問者
お礼
ご回答ありがとうございます 今回探していたのものとは、違いました。
お礼
ネストなどのテストをして大丈夫でした。 目的のものでした ありがとうございました。