WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:ファイル名の置換

0:[投稿] けい [2002/07/05 18:47 ][環境:WIN+IE WIN系+Perl]

perlを使ってファイル名を置換したいのですが、

正規表現を用いて
*.CAB というファイル名を
*.CAT という具合に変換したいのです。

この場合どうすればよいでしょうか?

変換したいファイルは全て同じディレクトリに入っています。

とりあえず下のように書いたのですがうまくいきませんでした。

opendir(DIR,".") || die "cannot open\n";
@files = readdir(DIR);
closedir(DIR);

foreach(@files)
{
   if(/CAB/)
   {
        s/CAB/CAT/g;
   }
}



1:[回答] やじうま1号 [2002/07/05 21:15 ]

rename処理をしていないので、(s/CAB/CAT/g;では文字列の置換のみです)そのままなのです。

opendir(DIR,".") || die "cannot open\n";
@files = readdir(DIR);
closedir(DIR);

foreach(@files)
{
  if(/\.cab/i)
  {
       rename($_,$` . '.cat');
  }
}

こうしてやればうまくいくかと思いますが。


2:[完了] けい [2002/07/05 23:17 ]

なるほど!

どうもありがとうございました。
早速やってみます。
本当に助かりました。


3:[完了] けい [2002/07/05 23:38 ]

ただいま試しに入力させて頂いた所うまく変換されました。
$` についても勉強になりました。

ほんとうにどうもありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World