使用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 }