请教:获取当前文件路径问题

请教:获取当前文件路径问题

#!/usr/bin/perl   
use   Cwd;
my   $dir   =   getcwd();
print "$dir\n";

非常简短的脚本,如果直接运行的话,得到理想的路径,但是如果在crontab 里设置让它定时运行结果就不行了,得到的路径是:   /  不知道为什么?
我想在crontab 设置定时运行时还能得到原来的路径可以吗?怎么办?
这个getcwd是获得working directory吧,我猜你是想得到程序所在的路径?
可能可以先得到pid,再通过读取/proc目录实现?
如果要得到程序所在的路径,对$0进行处理一下。


QUOTE:
原帖由 systemalgorithm 于 2007-10-10 17:10 发表
如果要得到程序所在的路径,对$0进行处理一下。

$0只能得到命令行上的内容把,可以得到绝对路径么?


QUOTE:
原帖由 bood 于 2007-10-10 17:48 发表


$0只能得到命令行上的内容把,可以得到绝对路径么?

那么将$0和Cwd结合起来怎样?下面是linux版本

#!/usr/bin/perl   
use  Cwd;
use File::Basename;
my $cwd;
if ($0 =~ m{^/}) {
  $cwd = dirname($0);
} else {
  my $dir   =   getcwd();
  $cwd = dirname("$dir/$0");
}

print "$cwd\n";
谢谢你们了,odacharlee 说的也行,后来一个朋友搜到这样做也可以:

print File::Spec->rel2abs(__FILE__);