使用mkdir可以創建一個目錄,但只能創建一個目錄。
使用mkpath則可以創建連續的子目錄。在linux下使用cp -p同樣可以實現同樣的功能。 再使用File::Copy來拷貝。
1 use File::Path; 2 use File::Copy; 3 sub writeSubFolder 4 { 5 my $root = 'E:/perl_work/'; 6 my $toDir = "project/pages/test/test.jpg" ; 7 my $fileName = "tmp/test.jpg"; 8 $toDir =~ m|(.*)/.+$| ; 9 my $subFolder = $1; 10 print "creating $subFolder"; 11 if( chdir($root) ) 12 { 13 mkpath($subFolder) or die "createFolder error!" unless( -e $subFolder ); 14 copy($fileName , $subFolder) or die "copy error"; 15 } 16 }