[請益] 用sub function建立子目錄的問題
如果我想在mother_folder中建立目錄樹(不用File::Path的話)
也就是第一層是@aaa中的三個資料夾, 每個資料夾各建@bbb中的二個資料夾
成功寫法如下:
@aaa=(aaa1,aaa2,aaa3);
@bbb=(bbb1,bbb2);
chdir ("./folder1");
for ($i=0;$i<=$#aaa ;$i++)
{
mkdir "$aaa[$i]";
chdir ("./$aaa[$i]");
for ($j=0;$j<=$#bbb ;$j++)
{
mkdir "$bbb[$j]";
}
chdir ("../");
}
chdir ("../");
但如果用sub function寫法的話:
sub make_folder
{
my($mother_folder,@layer1,@layer2)=@_;
chdir ("./$mother_folder");
for ($i=0;$i<=$#layer1 ;$i++)
{
mkdir "$layer1[$i]";
chdir ("./$layer1[$i]");
for ($j=0;$j<=$#layer2 ;$j++)
{
mkdir "$layer2[$j]";
}
chdir ("../");
}
chdir ("../");
}
&make_folder("./folder2",@aaa,@bbb);
會發現在第一個for迴圈時就把@aaa跟@bbb中的資料夾都建在folder2中了
請問這樣的寫法是否有問題呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.238.197
※ 文章網址: http://www.ptt.cc/bbs/Perl/M.1420647612.A.C8B.html
推
01/08 00:34, , 1F
01/08 00:34, 1F
→
01/08 00:35, , 2F
01/08 00:35, 2F
推
01/08 01:04, , 3F
01/08 01:04, 3F
→
01/08 01:05, , 4F
01/08 01:05, 4F
→
01/08 18:41, , 5F
01/08 18:41, 5F
推
01/08 18:54, , 6F
01/08 18:54, 6F
Perl 近期熱門文章
PTT數位生活區 即時熱門文章
10
17