Perl을 사용하여 파일의 조부모 디렉토리를 가져 오는 것에 대한 생각. realpath
는 현재 작업 디렉토리를 반환으로 현재, 나는 당신이 실제로 상위 디렉토리, 그리고 조부모를 원하는처럼Perl을 사용하여 파일의 조부모 디렉토리 얻기
#!/usr/bin/perl
use Cwd;
my ($parentDir, $grandParent);
$parentDir = Cwd::realpath();
Perl을 사용하여 파일의 조부모 디렉토리를 가져 오는 것에 대한 생각. realpath
는 현재 작업 디렉토리를 반환으로 현재, 나는 당신이 실제로 상위 디렉토리, 그리고 조부모를 원하는처럼Perl을 사용하여 파일의 조부모 디렉토리 얻기
#!/usr/bin/perl
use Cwd;
my ($parentDir, $grandParent);
$parentDir = Cwd::realpath();
use Cwd;
use File::Spec;
my ($parentDir, $grandParent);
$parentDir = Cwd::realpath();
print $parentDir,"\n";
my @dirs = File::Spec->splitdir($parentDir);
pop @dirs;
my $grandParent = File::Spec->catdir(@dirs);
print $grandParent,"\n"
것 같습니다 현재 다음과 같은 방법으로 실행되는 파일의 상위 디렉토리를 얻을 수 있어요 .
use Cwd;
use File::Spec;
print "Parent Dir: ", abs_path(File::Spec->updir()), "\n";
그러나, 조부모를 얻기 위해, 다음 작동합니다 :
print "Gramps: ", abs_path(File::Spec->catdir((File::Spec->updir) x 2)), "\n";
이 정말 좋은처럼 작동합니다. File :: Spec-> catdir ((File :: Spec-> updir) x 2)은 어떻게 작동합니까? x 2가리스트의 연산자가 아닌가? –
예, ['x'] (http://perldoc.perl.org/perlop.html#Multiplicative-Operators)는 반복 연산자입니다. 그것은'(File :: Spec-> updir, File :: Spec-> updir)'을 작성하는 바로 가기 방법이었습니다. – Miller
File :: Spec-> updir()은 실제 부모 디렉토리가 아닌 ".."을 반환합니다. –
그것은 매력 – doubledecker