Perlでは、サブディレクトリを作成すると同時に、親ディレクトリが存在しない場合は作成できますか? UNIXのmkdir -pコマンドと同様?1つのPerlコマンドでディレクトリと親ディレクトリを作成するにはどうすればよいですか?
答えて
use File::Path qw(make_path);
make_path("path/to/sub/directory");
非推奨mkpath、好ましいmake_pathは5人のポーターはそれがhereをアーカイブのスレッドPerlでの議論から茎。
簡単に言えば、Perl 5.10のテストでは、makepath()インタフェースの引数解析で扱いにくかったです。したがって、関数のオプションを設定する最後の引数としてハッシュを取ったより単純なバージョンに置き換えられました。
@skiphoppy:これは、質問に記載されているように、これはまだUNIXのmkdir -pコマンドのようなものではありません。 mkdirのmanページには -p, --parents no error if existing, make parent directories as needed
が表示されますが、ディレクトリが存在する場合、make_pathはfalseを返します。 (make_path "/ tmp/foo"またはdie;#/ tmp/fooが存在すれば死ぬでしょう) –
Randall
ファイルから使用mkpath ::パスモジュール:
use File::Path qw(mkpath);
mkpath("path/to/sub/directory");
これを今調べてみると、mkpath()は廃止され、公式のインターフェースはmake_path()になっています。誰かがそれを買うものについて大きな説明を書いたら、私はそれを受け入れられた答えにするでしょう。 – skiphoppy
REF http://perldoc.perl.org/File/Path.html
は、あなたがPerlのを探しているなら
親切に無視「彼らが存在しない場合は[原文のまま!]前make_path機能は非常にUnixコマンドのようなmkdir -p
、与えられたディレクトリを作成します」 「MKDIR -p」機能が、次のコードでモジュールは動作します:
my $dir = '/root/example/dir';
system ("mkdir -p $dir 2> /dev/null") == 0
or die "failed to create $dir. exiting...\n";
あなたはモジュールを使用することができますが、その後、あなたが上のポートにあなたのコードを予定している各サーバーにインストールする必要があります。私は通常、mkdirのような作業のためにシステム関数を使う方が好きです。なぜなら、ディレクトリを作成するためにモジュールを一度しか必要としないときは、モジュールをインポートして呼び出すためのオーバーヘッドが少ないからです。
モジュールのインストールを避けたいのであれば、このアプローチは意味があります。私は通常、必要なモジュールのインストールを要求するか、システムをサポートすることを拒否します。私はモジュールを使用してテストや研究の恩恵を受けることができるので、システムコールのチェックやエラーメッセージの出力の失敗などの間違いを避けることができます。プロセスを作成します。 – skiphoppy
オペレーティングシステムへの依存関係はありませんか? –
- 1. RでWindowsエクスプローラと同様のディレクトリ構造を作成するにはどうすればよいですか?
- 2. android.googlesource.comまたはgithub.comから1つのディレクトリをダウンロードするにはどうすればよいですか?
- 3. Androidは1つのディレクトリにファイルを作成するのではなく、別のディレクトリに作成します
- 4. ディレクトリなしでarchive.orgからページを作成するにはどうすればよいですか?
- 5. webpack出力ディレクトリの内容でtar.gzファイルを作成するにはどうすればよいですか?
- 6. Drupal 7のモジュールのhook_installからディレクトリを作成するにはどうすればよいですか?
- 7. ディレクトリ内のファイルを作成順に再帰的にリストするにはどうすればよいですか?
- 8. 250,000ファイルのディレクトリに対してPerlのreaddirをスピードアップするにはどうすればよいですか?
- 9. temp以外のディレクトリに一時ファイルを作成するにはどうすればよいですか?
- 10. Gradle:jarの場所をプロジェクトの親ディレクトリに設定するにはどうすればよいですか?
- 11. アセットフォルダからディレクトリとストアファイルを作成するにはどうすればいいですか?
- 12. VIM:vimでディレクトリを更新するにはどうすればよいですか?
- 13. 親ディレクトリからモジュールをインポートするにはどうすればよいですか? (ユニットテストの目的)
- 14. C#を使用してftpサーバーにディレクトリを作成するにはどうすればよいですか?
- 15. Perlクラスを作成するにはどうすればよいですか?
- 16. Antでは、1つのsrcディレクトリから別のjarファイルを作成するにはどうすればよいですか?
- 17. PHPでのパスを1つのディレクトリで動作しないようにする
- 18. 偽のディレクトリ構造を作成して使用するにはどうすればよいですか?
- 19. Python:親ディレクトリのサブディレクトリでスクリプトを呼び出すにはどうすればよいですか?
- 20. Perlでディレクトリの内容を読み込むにはどうすればよいですか?
- 21. SESSION変数を親ディレクトリのページに渡すにはどうすればよいですか?
- 22. MacでJFileChooserを作成して、ユーザーがディレクトリを作成できるようにするにはどうすればよいですか?
- 23. Tkの2つのインスタンスを1つのメインループで作成するにはどうすればよいですか?
- 24. Gradle - 親ディレクトリなしでdistZipを作成するには?
- 25. 1つで2つのクエリを作成するにはどうすればよいですか?
- 26. コンポーネントのフォルダ(ディレクトリ)プロパティエディタを作成するにはどうすればいいですか?
- 27. Djangoプロジェクトに "addons"ディレクトリを作成するにはどうすればいいですか?
- 28. Subversionでトランクの1つのディレクトリが更新されないディレクトリを作成しますか?
- 29. 親から2つのコマンドを並列に実行するにはどうすればよいですか?
- 30. SmartSVNで2つのディレクトリをインポートしてマージするにはどうすればよいですか?
この質問を追加したので、毎回それを検索するのではなく、簡単にやり直すことができます。私はPOSIX.pmで何らかの理由でこれを常に探します。 – skiphoppy