Perlゼミ

  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;

Perlの書籍
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
    この私、Perlゼミの作者が執筆しています。
    ご購入、口コミ歓迎。
  • Perlの書籍 »
自己紹介
木本裕紀

「今日も元気だ、Perlで元気。
ゆとりあるITエンジニアライフのために
Perl情報を前向きに発信中!」

Twitter
フォロー、いいね、リツート、コメント歓迎

Youtube

チャンネル登録、いいね、コメント歓迎

kimoto.yuki@gmail.com
応援メッセージ、質問、間違い報告歓迎

木本システム株式会社
ご紹介キャンペーン実施中です。契約金額の10%をご紹介料としてお支払い。

(例)30万円のシステム開発委託契約が、1年続いたら、36万円がもらえる!!!