home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

Perl/codepiece/manupilate_INC_by_FindBin

Perl/codepiece/manupilate_INC_by_FindBin

Perl / codepiece / manupilate_INC_by_FindBin
id: 135 所有者: msakamoto-sf    作成日: 2007-08-31 23:04:38
カテゴリ: Perl 

  • まずは動作確認。 FindBin01.pl
#!/usr/bin/perl
use strict;
use warnings;
use FindBin qw($Bin $Script $RealBin $RealScript);

print "Bin = ", $Bin, "\n";
print "Script = ", $Script, "\n";
print "RealBin = ", $RealBin, "\n";
print "RealScript = ", $RealScript, "\n";
  • 出力
$ perl FindBin01.pl
Bin = C:/in_vitro/perl/core_modules
Script = FindBin01.pl
RealBin = C:/in_vitro/perl/core_modules
RealScript = FindBin01.pl

実際にuse libを操作してみる。

  • use される test::Hoge パッケージ:./sample/lib/test/Hoge.pm
package test::Hoge;
use strict;
use warnings;
our $message = "Hello, test::Hoge!";
  • ./sample/FindBin02.pl
#!/usr/bin/perl
use strict;
use warnings;
use File::Spec;
use FindBin;
use lib File::Spec->catdir($FindBin::Bin, "lib");

use test::Hoge;

print $test::Hoge::message, "\n";
  • 出力
$ perl ./sample/FindBin02.pl
Hello, test::Hoge!
  • ポイント:FindBinを使うと、PHPでのrealpath(dirname(__FILE__))や、basename(__FILE__) と同等な出力を取得できる。
  • 実際に、そこからの相対パスを用いる場合、File::Spec->catdir()でシステムに合わせたパス文字列を生成し、設定している。
  • いずれもPerlのコアモジュールであるのが有り難い。

*1: CPANの方のページからソースを見てみると、require 5.000; という記述がある。

プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2008-12-28 23:06:26
md5:8a20d9b68ab447ac7d2557adfd00c08a
sha1:6c5e4c90cc139f3375b3f93319ae61d6ae74910d
コメント
コメントを投稿するにはログインして下さい。