내가 기본 디렉토리 /home/user/test/
을 가지고 있다고 가정 해 보겠습니다. 자, a
, b
두 개의 문자열이 /home/user/test/a/b
과 같은 기본 디렉토리 안의 폴더가 될 것입니다.Perl : 문자열에서 디렉토리 만들기
은 현재 내가 무엇을하고 있는가하는 것입니다 : 이제
use File::Path qw(make_path);
my $path = "$basedir"."/"."a"."/"."b"
make_path("$path");
, 무엇을 찾고 있어요 것은 :
my $dir = "/home/user/test";
my $x = "a";
my $y = "b";
make_path($dir, $x, $y);
하지만 대신 /home/user/test/a/b
를 만드는 위의 코드를 실행하면 두 개의 별도의 디렉토리를 생성 a
현재 작업 디렉토리에 b
이 있습니다.
이렇게하려면 올바른 방법은 무엇입니까?
use strict;
use warnings;
use File::Path qw(make_path);
my $dir = "/home/user/test";
my $x = "a";
my $y = "b";
make_path(join '/',$dir,$x,$y);
자세한 내용은 join
를 찾기 :
내가 join''알고있다 그러나 나는이었다 또한 perldoc을 경로 :: 클래스 :: 디렉터리를 참조 좀 더 우아하고 일반적인 방법을 찾고 있습니다. – RanRag
@Noob,'make_path'는 생성 될 경로를 설명하는 문자열을 필요로하므로 서브 디렉토리를 단일 문자열로 어셈블해야합니다. 'join '은 그렇게하는 가장 간단한 방법입니다. 만약 두 개의 서브 디렉토리를 넘어 일반화하고 싶다면 모든 서브 디렉토리를 하나의 배열에 저장하고 배열에'join '하십시오. – dan1111
확인. 나는이 해결책을 갈거야. – RanRag