如何将一个目录下所有的文件和目录改名?

如何将一个目录下所有的文件和目录改名?

如何将一个目录下所有的文件和目录改名?
我是Perl的初学者,遇到困难,请大家帮助。
要求:将c:\test下所有文件和目录改名,a1,b2,c3,d4依次加在名字的末尾。我查过一些资料,但是都不详细,关键是如何将opendir的结果依次放在数组里,请高手贴出相应的程序,谢谢!
@test = opendir("........
@test = opendir("...........");

my $i=0;
foreach (@test) { $i++;
rename ("$_" "$_$i");

}

感谢楼上的回复,但编译没.
感谢楼上的回复,但编译没有通过(已将....替换为c:\\test\\),贴出我的代码,结果只能够显示出c:\test下的目录名,却无法显示出文件名,不知道错在哪里。

#! /usr/bin/perl

my $dir = "c:/test/";
opendir(DIR, $dir);
while(defined(my $file = readdir(DIR))){
     if(-d "$dir/$file") {
      print "$dir/$file\n";
 }
}
closedir(DIR);
if(-d "$dir/$file") { #这个条件去掉,是判断目录的,你为什么要加if(-d.... ?
   print "$dir/$file\n";
}