作者liyih ()
看板Perl
标题Re: [问题] 取得程式的当下目录
时间Wed Dec 9 13:24:08 2009
※ 引述《heliosy (这一栏是要做啥用的)》之铭言:
: 请问一下
: 我如果把一支程式a.pl放在C:\test\之下
: 那可以用什麽方式让它自己取得test这个资料夹名称呢
: 谢谢
可以试着比较一下 $0、Cwd 与 FindBin,如下:
程式放在 /tmp/test/test.pl
======================================================
use strict;
use warnings;
use Cwd;
use FindBin qw($Bin);
use File::Basename;
print q{$0 = }, $0 , "\n";
print q{getcwd() = }, getcwd(), "\n";
print q{$Bin = }, $Bin , "\n";
print basename($Bin), "\n";
print dirname($Bin) , "\n";
======================================================
# cd /usr/local
# perl /tmp/test/test.pl
$0 = /tmp/test/test.pl
getcwd() = /usr/local
$Bin = /tmp/test
test
/tmp
取得 basename 或 dirname,则再使用 File::Basename。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.64.130
1F:推 cutecpu:推 12/09 14:00