__FILE__ - スクリプトのファイル名を取得する



  1. Perl




  2. 関数



  3. here

スクリプトのファイル名を取得するには__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;



  1. Perl




  2. 関数



  3. here