Perlでファイルに適当なレコードを追加するスクリプトを組んだのですが、
どうしたら、複数ファイルを一度に処理できるのでしょうか?
例えば、フォルダ内のファイル全てを処理するとか、、、
環境はwin ntです。

A 回答 (2件)

Perl以外でそういう処理をしたことがありますか?


アルゴリズム的には、ファイルのエントリ情報を取得して、それがなくなるまで繰り返し実行するのが普通ですね。
rewinddir,readdir という関数が有りますのでそれを使えば可能だと思います。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
他の言語でもこういった処理をしたことがありませんでした。。。
rewinddirというのはちょっと何に使うのかわかりませんが
もうちょっと調べてやってみようと思います。

お礼日時:2001/03/05 14:06

 ディレクトリを操作するには、opendir、readdir、closedirという3つの関数を使います。


 具体的には、

sub getDirEnt {
  local(@dirs, $i);
  opendir(DIRHANDLE, "@_[0]");
  while ( $i = readdir(DIRHANDLE) ) {
    push(@dir, $i);
  }
  close(DIRHANDLE);
  return @dirs;
}

 このサブルーチンのようにしてください。(このサンプルはタブを全角スペースで記述しています)
 これは、第1引数にディレクトリ名を記述すると、そのファイルエントリーを配列で返します。

 取得されたすべてのファイルを順にオープンし、処理を行うことでご希望の処理ができると思います。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
具体的なロジックまで記述していただき、
とてもわかり易かったです。
これで何とかなりそうです。本当にありがとうございました。

お礼日時:2001/03/05 13:51

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


人気Q&Aランキング

おすすめ情報