+ -
当前位置:首页 → 问答吧 → 关于获取当前路径的问题,请斑竹进。。。谢谢

关于获取当前路径的问题,请斑竹进。。。谢谢

时间:2011-04-19

来源:互联网

例如:在C:\Test\Tool\A.pl脚本中怎么获取当前的目录,以及上一层目录。
即:要获取到C:\Test\Tool和C:\Test

作者: suautotest   发布时间: 2011-04-19

use Cwd;
$dir = getcwd;
#$dir中即为当前目录的完整路径信息。

作者: lxb456900   发布时间: 2011-04-19

本帖最后由 suautotest 于 2011-04-19 13:46 编辑

这个我知道哦,如果是别的文件中要调用A.pl中的函数,怎么办?如果使用getcwd时,会显示调用者的路径。
比如C:\Test\TA\A.pl中有一个函数:
use Cwd;
sub a
{
     return getcwd;
}

此时如果在C:\Test\TB\B.pl中调用该函数:
require("../TA/A.pl");

print a();
会显示C:\Test\TB,而我的目的是想返回调用的那个函数的目录。即C:\Test\TA,该怎么做?

作者: suautotest   发布时间: 2011-04-19

use Cwd 'abs_path';
print abs_path($0)=~/(.*)\//;
print "\n";
print abs_path($0)=~/(.*)\/.*\//;

作者: ziyunfei   发布时间: 2011-04-19

本帖最后由 suautotest 于 2011-04-19 13:53 编辑

回复 ziyunfei


    获取到的是调用者的函数所在目录,我要的是被调用者的函数所在的目录哦,也就是函数a()所在的路径C:\Test\TA

作者: suautotest   发布时间: 2011-04-19