我在say /a/b/c/a.pl下有一个脚本。但是我是通过/a/symlink/c/a.pl来访问它的。当我使用符号链接路径运行脚本时,如何读取路径?
当我使用/a/b/c
/a/sl/c
,我应该使用/a/sl/c/a.pl,我应该得到/a/sl/c
发布于 2011-03-11 20:55:33
我不知道你在问什么,但FindBin可能会做你想做的事。请参阅perldoc FindBin,并阅读关于$Bin和$RealBin的文章。
如果FindBin不是您想要的,请尝试:
#!/usr/bin/env perl
use strict;
use warnings;
use Cwd;
use File::Basename;
my $i_am_at = dirname( $0 );
if( $i_am_at eq '.' ){
$i_am_at = cwd();
}
print "I am at $i_am_at\n";发布于 2011-03-11 21:08:20
认为$0是你要找的变量。
发布于 2011-03-11 20:57:07
至少对于*nix系统,您可以使用$ENV{PWD}或`pwd`。
https://stackoverflow.com/questions/5277532
复制相似问题