Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発
  1. Perl
  2. 標準関数
  3. here

__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;