このエントリーをはてなブックマークに追加


Perlでディレクトリを作成する・mkdir・mkpath

Perlでディレクトリを作成するサンプルコードを以下に記します。
UNIXコマンドのmkdir, mkdir -p相当のサンプルコードです。


スポンサーリンク

関連記事

動作確認環境

  • 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相当)

以下のサンプルコードはディレクトリfooとbarを作成するサンプルコードです。

use strict;
use warnings;

mkdir 'foo';
mkdir 'bar', 0777;

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

ディレクトリを作成する(UNIXコマンド mkdir -p相当)

以下のサンプルコードはディレクトリ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でディレクトリを作成するサンプルコードでした。


スポンサーリンク


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:31:40