#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)