PerlならサンプルコードPerl入門

2008-04-27

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

  1. Perl
  2. ファイル操作
  3. 関数
  4. __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;

りんごちゃんりんごちゃん 2008/08/01 14:18 >>SomeModule.pm ( 上のサンプルスクリプトと同一ディレクトリに置きます。 )
とあるので

>> do ”SomePackage.pm”; # doで,別ファイルを、このプログラムのプロセス空間の # メモリ上に読み込む。

はSomeModule.pmの間違いじゃないでしょうか?

perlcodesampleperlcodesample 2008/08/01 23:57 修正しました。りんごさん、毎回ありがとうございます。
SomeModule.pmの間違いでした。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証