我正在尝试从当前工作目录中移回一个级别,但是没有成功执行此操作。
use strict;
use warnings;
use Cwd qw();
my $path = Cwd::cwd();
print "Debug : $path\n";
从上面的代码我可以得到当前的工作目录,但需要返回一级。
Exp: 当前工作目录='C:/ abc / tmp / folder' 需要的目录='C:/ abc / tmp'
答案 0 :(得分:4)
答案 1 :(得分:-1)
看看File::Basename。检查'fileparse()'或'dirname()'方法。
答案 2 :(得分:-1)
您需要实际尝试转到上一级目录,即在某处使用..
...
#!/usr/bin/perl -w
use strict;
use Cwd 'abs_path';
my $path = Cwd::cwd();
print abs_path($path . '/..');
答案 3 :(得分:-1)
我不确定Perl chdir()函数是否接受“ ..”参数。如果它 可以,您可以这样做:
chdir("..");
进入目录。
否则,您将必须执行以下操作:
$currdir = `pwd`; chomp $currdir; # gets current directory
$currdir =~ s/ \/[^\/]+$//; # removes the last / and everything after it
chdir($currdir);