__FILE__ - スクリプトのファイル名を取得する
スクリプトのファイル名を取得するには__FILE__を使用します。
__FILE__
ファイルをスクリプトとして読み込むと、プログラムはプロセス空間のメモリ上に展開されるのですが、展開する前のファイル名を、Perlは覚えておいてくれます。
サンプル
スクリプトのファイル名を取得するサンプルです。
# ファイル名の取得 __FILE__ print "1: ファイル名を取得する。(__FILE__)\n"; print "このファイル名は\n" . __FILE__ . "\n" . "です。\n\n"; print "2: 読み込んだファイルの名前を取得する。\n"; # doで,別ファイルを、このプログラムのプロセス空間のメモリ上に読み込む。 do "SomeModule.pm"; print "読み込んだファイル名は\n", SomeModule::this_file_name(), "\n", "です。\n\n"; print '3: 実行されているスクリプト名($0)とは違います。' . "\n"; print "実行されているスクリプト名は、\n", SomeModule::this_script_name(), "\n", "です。\n";
SomeModule.pm ( 上のサンプルスクリプトと同一ディレクトリに置きます。)
package SomeModule; use strict; use warnings; sub this_file_name{ return __FILE__; } sub this_script_name{ return $0; } 1;