File::Spec and Cwd

| コメント(0) | トラックバック(0)




http://www.perlmonks.org/index.pl?node_id=513817



File::SpecとCwdを使ってパスを作成した場合の細かい違いについて。*nix系だけでなく、Win32とかを視野に入れてポータブルなコードを書く場合はこういう事に関しても知ってないとまずいんだよねぇ。俺はちなみによく「今実行されたファイルの位置から判別したパスを@INCに入れる」という行動はCwdとかを使うとうまくいかないので、__FILE__とFile::Basenameでやってる:



use File::Spec;
use File::Basename;
BEGIN
{
# このファイルがある場所から../libやその他のディレクトリをうまくパスやら
# 設定やらに入れる
my $curdir = dirname(__FILE__);
my $libdir = File::Spec->canonpath(File::Spec->catdir($curdir, File::Spec->updir, 'lib'));
unshift @INC, $libdir;
}

Author

Daisuke Maki (a.k.a lestrrat): Perl hacker, Director of Japan Perl Association, YAPC::Asia Tokyo Organizer (2009-2012), Fluent in Japanese, English. Ex-Brazilian (sorta)

#perl #c #ruby #java #mysql #english #japanese #opensource #stf #cooking #scotch #cigar


このエントリーをはてなブックマ
ークに追加

翔泳社よりモダンPerl入門(2010)を出版させていただいております。できれば内容をアップデートしたいので是非皆様・・・現在の在庫処理にお力をお貸しください!><

月別アーカイブ