#navi(../)
* Perlでディレクトリを作成する・mkdir・mkpath [#t06a8f22]
Perlでディレクトリを作成するサンプルコードを以下に記します。~
UNIXコマンドのmkdir, mkdir -p相当のサンプルコードです。

#contents
#htmlinsertpcsp(ll-top.html,ll-sp.html)

* 関連記事 [#q739cca4]
-[[ファイルから1行ずつ読み込む方法>Perl/サンプル/ファイルから1行ずつ読み込む方法]]
-[[Perlでファイル・ディレクトリの有無を確認する>Perl/サンプル/ファイル・ディレクトリの有無を確認する]]
-[[Perlでディレクトリを作成する・mkdir・mkpath>Perl/サンプル/ディレクトリを作成する・mkdir・mkpath]]
-[[Perlでパーミッションを変更する・chmod>Perl/サンプル/パーミッションを変更する・chmod]]

* 動作確認環境 [#o90fc038]
-Perl
 $ perl -v
 
 This is perl 5, version 14, subversion 2 (v5.14.2) built for i686-linux-gnu-thread-multi-64int
 (with 57 registered patches, see perl -V for more detail)
 <snip>
-OS
 $ lsb_release -d
 Description:    Ubuntu 12.04.4 LTS

* ディレクトリを作成する(UNIXコマンド mkdir相当) [#reb97c22]
以下のサンプルコードはディレクトリfooとbarを作成するサンプルコードです。
 use strict;
 use warnings;
 
 mkdir 'foo';
 mkdir 'bar', 0777;

fooはパーミッション指定なし、barはパーミッション指定ありになります。~
但し、パーミッション指定をしてもumask値が有効になるので、~
例えばパーミッションに777を指定してもumask値が2の場合は775になります。

* ディレクトリを作成する(UNIXコマンド mkdir -p相当) [#m18e1b3c]
以下のサンプルコードはディレクトリfoo/bar/hogeを作成するサンプルコードです。~
File::Pathを使用することにより複数階層のディレクトリを作成することができます。
 use strict;
 use warnings;
 use File::Path;
 
 mkpath 'foo/bar/hoge'

上位のサンプルコードを実行した後の作成されたディレクトリをtreeコマンドで確認しています。
 $ LANG=C tree foo
 foo
 `-- bar
     `-- hoge

また、配列で渡すことにより複数のディレクトリを一度に作成することができます。
 use strict;
 use warnings;
 use File::Path;
 
 mkpath ['foo/bar','hoge'];
上位のサンプルコードを実行した後の作成されたディレクトリをtreeコマンドで確認しています。
 $ LANG=C tree foo hoge
 foo
 `-- bar
 hoge

以上、Perlでディレクトリを作成するサンプルコードでした。

#htmlinsertpcsp(ll-btm.html,ll-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS