プロが教える店舗&オフィスのセキュリティ対策術

PERLでディレクトリの操作をするときの文法を教えていただけないでしょうか。
ディレクトリオープンは判るのですが・・・、
ディレクトリ作成・ディレクトリの名前変更
ディレクトリの削除・ディレクトリの存在確認
が判りません。どうかご指南お願いいたします。

A 回答 (3件)

 -e もしくは -d のあとのフォルダ名は、必ず "" か '' でかこってください。


 そうでないと正しく動作しません。
    • good
    • 0
この回答へのお礼

有難うございます。
そうですね(汗)
言われてみれば当たり前の事でした(汗)
お手数かけました。

お礼日時:2003/03/13 08:52

ディレクトリの作成は mkdir、削除は rmdir、名前変更は rename でできます。


また、ディレクトリの確認には、ファイルテスト演算子の -d を使います。

mkdir ディレクトリ名, パーミッション
rmdir ディレクトリ名
rename ディレクトリ名, 新ディレクトリ名
if (-d ディレクトリ名) {
  # ディレクトリあり
} else {
  # ディレクトリなし
}

ディレクトリ名はパスでの指定もできますが、mkdir や rmdir で操作できるのは1階層のみです。
2階層以上のディレクトリを一度に作成・削除するには、File::Path モジュールの mkpath や rmtree を使うと便利です。
詳細は参考URLの左フレーム - 10章 - File::Path で確認してください。

参考URL:http://www.bekkoame.ne.jp/~bero/docj/module_/
    • good
    • 0
この回答へのお礼

解答有難うございます
#1さんへの返事にて解決しない事柄を書きました。
もしよりしければご指南ください。

お礼日時:2003/03/12 20:02

 作成は mkdir、名前変更は rename、削除は rmdir で可能です。


 存在確認は下記のソースです。

if ( -e $dir ) {
  print "あり";
} else {
  print "存在せず";
}

 参考URLの「WWW入門」の中に「Perl」という項がありますので、参考にしてください。

参考URL:http://tohoho.wakusei.ne.jp/
    • good
    • 0
この回答へのお礼

有難うございます。
存在確認以外のことはできました。
しかし、存在確認なのですが、
-----------------test.cgi---------------------
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "ディレクトリ存在確認テスト:";
if(-e test){         #またはif(-d test){  
print "testディレクトリあり";
}
else{
print "ディレクトリなし";
}
exit;
-------------------------------------
ファイル構成
./test.cgi
./test/
-------------------------------------
となっているのですが、このプログラムはなぜか、
「ディレクトリ無し」との結果が返ってきます。
WIN環境なのですが、それが原因でしょうか・・・?
ファイルへのパスをフルパスにしてみたり、
./test/としてみたり、./testとしてみたり、色々試したのですが、
うまくいきません・・・。

お礼日時:2003/03/12 20:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!