カレッヂ |
質問者 シー
投稿日 1/30(火) 18:56:10
何層かあるディレクトリを一気に作成したくて mkpathを使用してみました。 @pathdata_dir=$data_dir; mkpath(\@pathdata_dir,1,0777); 上記のように書いたのですが、これが動作するとプリント文があるわけでもないのに、 mkdir ./testdata/mode1/shokushu5 mkdir ./testdata/mode1/shokushu5/chiiki0 mkdir ./testdata/mode1/shokushu5/chiiki0/kyuyo0 と実行したテキストが表示されてしまいます。 これを回避する方法はないでしょうか。 また他に、いいやり方がありますでしょうか? もしよろしければご指導いただければと思います。 どうぞよろしくお願いいたします。 |
回答者 まさ
[削除]
投稿日 1/30(火) 22:10:40
mkpath(\@pathdata_dir,1,0777); これは mkpath(\@pathdata_dir); こうですね。 これで表示されません。 また一度に深いディレクトリーを作成するならば、File::Pathモジュールを使った方が いいです。詳しくはCPAN等を参考にして下さい。 |
回答者 まさ
[削除]
投稿日 1/31(水) 07:57:09
ついでにCPANの検索結果です。 http://search.cpan.org/search?mode=module&query=File%3A%3APath |
質問者 シー
[削除]
投稿日 1/31(水) 10:36:48
まささん、丁寧なご指導ありがとうございました。 たしかに後ろの引数2つをとると表示されなくなりました。 しかし後ろの引数はどんな意味があるのかと思って 教えていただいたCPANのリンク先にいったところ、 最後の引数はやはりパーミッションですね。 そして真中の1が、表示するかどうかのフラグなのでしょうか? これを0にすると表示しなくなりました。 引数を消すとデフォルト値(2番目の引数=0、最後の引数=0777) になるようです。 なにぶん英文なのでおそらくという範囲ですが。 CPANという存在はまったく知りませんでした。 ありがとうございました。 またなにかありましたらどうぞよろしくお願いいたします。 |
このページは終了したので返信(回答)は書きこめません
Web裏技 |