[解決済み] Perl の "make_path" と "remove_tree" は、オプションハッシュが空の場合、異なる結果になります。
2022-02-14 03:36:21
質問
私のモジュールには、次のようなコード行があります。
make_path($root_dir);
残念ながら、目的のディレクトリは作成されません(確認したところ、そこにパーミッションはありました)。
しかし、以下のように変更すると。
make_path($root_dir, {});
正常に動作しています。その数行前に、同じような奇妙な動作をする
make_path($root_dir);
対
make_path($root_dir, {});
. なぜこのようなことが起こるのか、何か思い当たることはありますか?
perl 5, version 16, File:Path version 2.09を使用しています。
どのように解決するのですか?
Path::Class::Dir クラスは、ハッシュベースのオブジェクトを作成します。
make_path
の使い方は
make_path(PATHS, OPTIONS_HASH)
.
として Path::Class::Dir オブジェクトを渡すと、そのオブジェクトは次のようになります。
make_path
の最後の引数は、オプションハッシュとして扱われます。
オプションハッシュを明示的に指定することで、これを回避することができます。
make_path($path, {})
または、明示的にパスを文字列化することで
make_path("$path")
関連
-
Perlについて(Perl公式サイトの翻訳です。)
-
ディレクトリ内のファイルを再帰的に走査するためのPerlスクリプト
-
Perlのコマンドラインプログラミングでよく使われるパラメータを1文にまとめたもの
-
Perl で QR コード用のプレーン HTML コードを生成する例
-
PerlによるMSSQLへのアクセスとMySQLデータベースへの移行スクリプト例
-
Perl バッチクエリ ip 属性メソッドコード
-
Perlの単一行コメントと複数行コメントの紹介
-
Perl モジュールをパッケージ化し、外部依存性を追加する
-
perlは{}で変数名を変更する方法を共有します。
-
[解決済み】Perlのバックティック、system、execの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Perlでは ->;, =>;, :: という記号はどういう意味ですか?
-
ハイウォーターラインアルゴリズムのPerl実装(多値比較問題法の解法)
-
Perlにおけるtrueとfalseの徹底研究
-
perlの文字列操作関数chompとchopの紹介
-
Perlのコマンドラインプログラミングでよく使われるパラメータを1文にまとめたもの
-
PerlによるMSSQLへのアクセスとMySQLデータベースへの移行スクリプト例
-
perl use vars pragma 使用のヒント
-
スペースがセパレータである場合の perl qw 問題の解決法
-
perl による生物学的突然変異のランダムシミュレーションコード
-
長さを指定し、ランダムなDNA配列を生成するperlスクリプトコード